xcode7--iOS开发---将app打包发布至app store
时隔3个月再次接触应用打包,又是一顿折腾
说说这次的感受吧:
变得是打包时间减少到4小时(其中大部分时间还是xcode7或者是iOS9的原因),不变的是还是一如既往的坑!!
好了,废话不多说,下面讲讲如何将一个APP 发布到 苹果的app store!
在xcode7以前,用户是不能直接真机调试的,必须有开发者帐号才可以真机! xcode7出现后,用户可以直接把app 安装在自己的手机上面
1=====>首先你得向apple 支付99刀成为苹果的全平台开发者(xcode7以前,99刀只能开发iOS应用),他会把你的apple id变成开发者帐号,这是最最基础的
2=====>在xcode的preference里面填写你的开发者帐号
3=====>注册App ID,在Xcode中填写Bundle Identifier
在开发者网站中
新增一个APP ID,他是专门属于你的这个应用的
---------------------------我是华丽的分割线-------------------------

bundle id 一般写com.你的公司名.应用名!
然后continue
---------------------------我是华丽的分割线-------------------------

然后打开XCode,选择Target > Summary。在Identifier输入框中输入上面注册的Bundle Identifier。
---------------------------我是华丽的分割线-------------------------

4=====>创建发布证书(Distribution Certificate)
iOS应用都有一个安全证书用于验证开发者身份和签名
打开mac上的钥匙串,然后打开证书助理,选择从证书机构颁发证书

---------------------------我是华丽的分割线-------------------------

---------------------------我是华丽的分割线-------------------------

---------------------------我是华丽的分割线-------------------------
,
---------------------------我是华丽的分割线-------------------------

---------------------------我是华丽的分割线-------------------------

添加刚才创建的.CSR签名文件。
刷新页面,然后就可以下载证书了。下载后安装。
最后一步,打开Keychain Access。选中刚才安装的private key,选择菜单中的Export Item将私钥导出。将导出的私钥备份到一个安全的地方,以便以后重装了系统可以还原。(团队共用这一份)
5=====> 创建Distribution Provisioning Profile(俗称pp文件)
打开Provisioning Portal,选择Provisioning -> Distribution,选择添加一个新的profile。Distribution Method要选择App Store,App ID需要输入在前面申请的App ID。证书也要选择刚开始申请的.cer文件.提交后需要等一会儿再刷新这个页面。然后就可以下载和安装profile了。安装后profile会被添加到XCode。然后就可以不用管了
步骤:
,
---------------------------我是华丽的分割线-------------------------

---------------------------我是华丽的分割线-------------------------

---------------------------我是华丽的分割线-------------------------

---------------------------我是华丽的分割线-------------------------

6=====>用Distribution Profile为应用签名
打开XCode,在Build Settings中选择Code Signing。在Release设置上选择刚才申请的Distribution Profile。

一定要选择生成目标为iOS device,然后点击Archiving开始打包应用。
点击Edit Schemes,将Archive设置为Release。

7=====>在iTunes Connect上传App
在iTunes connect上新建你的app(我就是忘了先新建(第7步和8步顺序相反),所以就导致了一只出错,报我的bundle id 不合法,弄了好久才知道我应该在iTunes connect先新建app才行)

------------主要是下面这个---------------
---------------------------我是华丽的分割线-------------------------

8=====>打包App

这样就可以把本地的app 添加到connect中了,然后就可以构建了
然后把这一页的信息填写正确后就可以提交了(很多坑!!! )

再说这次提交时因为xcode7或者ios9而导致的问题:
1).提交app store时,突然出现这个错误(xcode7以前从来没有遇到,不知道是不是xcode7或者ios9的锅)

搜索到的技术文章说有三种情况可能会导致这个问题:
1.检查启动图片是不是.png格式的
2.Put those images at root level of your project
3.放置一张启动图片命名为"Default-568h@2x.png",大小是640 × 1136 pixel的放在你的工程根目录下
我的app就是这样解决这个问题的
2).在iTunes connect里面填写信息的时候,APP图片不合法,首先必须要求大小是1024*1024的

造成的原因是你的图片有圆角
解决方法是先用画图工具把它另存为.jpg格式的,然后再把它转换成.png格式的(也可以不用转)
解决问题!
3).在iTunes connect里面填写截图信息的时候,截屏图片不合法(这里是我手动更改的像素,太痛苦了,再也不想弄了...)
必须要求你的尺寸为:
3.5 640 x 960
4.0 640 x 1136
xcode7--iOS开发---将app打包发布至app store的更多相关文章
- 【2】IOS APP打包发布
目的: 本文的目的是对IOS APP打包发布做了对应的介绍,大家可根据文档步骤进行mac环境部署: 申请苹果开发者账号 此处略 创建申请证书 这样做的目的就是为你的电脑安装发布许可证,只有这样你的电脑 ...
- iOS利用Application Loader打包提交到App Store时遇到错误The filename 未命名.ipa in the package contains an invalid character(s). The valid characters are:A-Z ,a-z,0-9,dash,period,underscore,but the name cannot start w
iOS利用Application Loader打包提交到App Store时遇到错误: The filename 未命名.ipa in the package contains an invalid ...
- iOS开发之app打包发布流程
一.准备工作 苹果开发者中心 1.申请苹果开发者账号 首先需要申请苹果开发者账号才能在APP store 里发布应用. 开发者账号分类:(1)个人开发者账号 (2)企业开发者账号 主要的区别是:点击这 ...
- iOS 开发 -----公司测试打包上传流程
打包iOS应用程序 如果想要将做的iOS应用程序安装到自己的iOS设备上测试.或者安装到别人的iOS设备上,或者想发布到App Store中,先要给应用签名.签名就要有证书,这就需要申请证书的过程了. ...
- ios开发--企业帐号发布
这两天需要发布一个ipa放到网上供其他人安装,需要用到企业级开发者账号. 首先详细说明一下我们的目标,我们需要发布一个ipa放到网上,所有人(包括越狱及非越狱设备)可以直接通过链接下载安装,不需要通过 ...
- 《iOS开发实战 从入门到上架App Store(第2版)》书籍目录
第1章 开发准备 1.1 iOS 10新特性简述 1.1.1 新增触觉反馈编程接口 1.1.2 SiriKit框架的开放 1.1.3 引入Messages App 1.1.4 通知框架的整合与扩展 1 ...
- IOS开发帐号与发布问题综合
一.iOS开发:AD-HOC版应用测试方法:http://hi.baidu.com/kangle1208/item/163f39530abb4d3195eb05a7 二.plist的方式发布: 1.y ...
- iOS开发从申请账号到上线APP Store步骤
1.developer.apple.com 申请开发者账号 2.根据API Cloud创建证书: http://docs.apicloud.com/Dev-Guide/iOS-License-Appl ...
- iOS 开发之应用内弹出 App Store 应用界面
在APP内给其他APP做推广,经常用到在应用内弹出应用的APP #import <StoreKit/SKStoreProductViewController.h> 设置代理:<SKS ...
随机推荐
- flutter initializing gradle终极解决方案
自己开发的公众号,可以领取淘宝内部优惠券 修改flutter.gradle文件 这种做法网上一大堆的教程,如果你还没改过建议先试下,比如这篇 Flutter 运行 一直Initializing gra ...
- python爬虫学习(一)
#简单例子:抓取网页全部内容后,根据正则表达式,获取符合条件的字符串列表from urllib import request#正则表达式import re url = "http://www ...
- 【学习笔记】JDBC数据库连接技术(Java Database Connectivity)
一.JDBC简介 Java是通过JDBC技术实现对各种数据库的访问的,JDBC是Java数据库连接技术的简称.它可以把数据持久保存,是一种持久化机制. 1.持久化 持久化就是将程序中的数据在瞬时状态和 ...
- vim-plug
vim包管理器vim-plug 安装 curl -fLo ~/.vim/autoload/plug.vim --create-dirs \ https://raw.githubusercontent. ...
- Topcoder SRM 563 Div1 500 SpellCards
题意 [题目链接]这怎么发链接啊..... 有\(n\)张符卡排成一个队列,每张符卡有两个属性,等级\(li\)和伤害\(di\). 你可以做任意次操作,每次操作为以下二者之一: 把队首的符卡移动到队 ...
- 靠谱的div引入任何外链内容
靠谱的div引入任何外链内容 开发中经常要在div中引入一个页面,该页面可能是内部页面,可能是一个外部页面,也可能只是一个域名获取的请求. 对于内部页面的加载,建议使用jquery的load函数,如: ...
- Android 笔记之 R 文件
Android笔记之R文件 h2{ color: #4abcde; } a{ color: blue; text-decoration: none; } a:hover{ color: red; te ...
- android Viewpager取消预加载及Fragment方法的学习
1.在使用ViewPager嵌套Fragment的时候,由于VIewPager的几个Adapter的设置来说,都会有一定的预加载.通过设置setOffscreenPageLimit(int numbe ...
- spring----对IoC和DI的理解
学习过Spring框架的人一定都会听过Spring的IoC(控制反转) .DI(依赖注入)这两个概念,对于初学Spring的人来说,总觉得IoC .DI这两个概念是模糊不清的,是很难理解的,今天和 ...
- BIEE入门(四)展现层
BIEE里最终面向最终用户(业务界面使用者的)叫做BIEE的Presentation Layer也即展现层,展现层的定义将是最终用户Web报表开发界面里能够看见的完全一样的样子,所以展现层一般将是以最 ...