一、前言:
- 作为一名iOS开发者,把辛辛苦苦开发出来的App上传到App Store是件必要的事。但是很多人还是不知道该怎么上传到App Store上
- 下面就来详细讲解一下具体流程步骤。
二、准备:
- 一个已付费的开发者账号(可分为):
- 账号类型分为个人(Individual)
- 公司(Company)
- 企业(Enterprise)
- 高校(University)四种类型
- 每年资费分别为$99、$99、$299、免费。
- 一个已经开发完成的项目。
三、检查:
- 安装的Xcode必须为正式版,beta版本的Xcode不能上传项目到App Store。
- 上传使用的 Mac 的 OS X系统必须也是正式版的,beta版本也不行。
- 请确认你安装的Xcode是从App Store或者是开发者网站下载的
- 因为非官方途径下载的Xcode可能带有XcodeGhost 病毒。如何检查?
1.jpg
四、生成发布证书
1.打开开发者中心网址:https://developer.apple.com
2.点击:Account
1.2 输入Apple ID和密码(没有则需注册)
1.3 加入苹果开发者计划(如已加入,可跳过这一步)
join the Apple Developer Program
Enroll
Start Your Enrollment
根据需要选择账号类型(个体、公司、*组织)。
选择账号类型
填写开发者信息
确认信息
购买信息
填写付款信息进行购买
2、准备证书
首先介绍以下相关概念:
Certificate:证书是用来给应用程序签名的,只有经过签名的应用程序才能保证他的来源是可信任的,并且代码是完整的,未经修改的。在Xcode Build Setting的Code Signing Identity中,你可以设置用于为代码签名的证书。证书主要分为两类:Development和Production,Development证书用来开发和调试应用程序,Production主要用来分发应用程序。
APP ID: 用于标识一个或者一组App,App ID应该是和Xcode中的Bundle ID是一致的或者匹配的。
Devices: 包含了该账户中所有可用于开发和测试的设备。
Provisioning Profile:配置文件,包含了上述的所有内容:证书、APP ID、设备。、
进入苹果开发者中心,点击下图所示位置进入证书、标识符和配置文件管理页面。
进入证书、标识符和配置文件管理页面
5.点击Certificates生成证书
- 选择iOS, tvOS, watchOS
- 选择All
- 点击右上角新添加证书

6.选择生产证书(选择App Store and Ad Hoc)

-
注意:一个开发者账号只能创建(1-2个开发(测试)证书,2-3个生产(发布)证书),如果你的App Store Ad Hoc 前面的按钮不能选择,则代表你的这个账号无法再创建新的生产证书了。
-
解决方法:
-
-
从共同使用这个账号的人电脑上生成.p12文件,导入自己的电脑。(尽量不要执行下面第2步)
-
如果你想生成的话,把现有的删除一个(建议删除时间比较靠前的)。注意:如果删除一个证书,那么正在使用这个证书的人将不能再使用了,除非重新生成,然后利用.p12重新导入自己的电脑里!
-
注意:如果你想删除证书,执行下面步骤,否则略过。





7.上传CSR文件去获取证书(CSR文件需要我们到本机钥匙串里去创建)
- 在Launchpad的其他里面,点击钥匙串访问弹出如下界面


- 工具栏选择钥匙串访问->证书助理->从证书颁发机构请求证书...


- 将CSR文件保存到MAC磁盘的某个位置(这里我选择的是桌面,进行存储)



- 然后回到浏览器,点击choose File..

- 选择创建好的:CertificateSigningRequest.certSigningRequest 文件,点击选取

- 点击Generate上传证书

- 跳转到如下界面,点击 DownLoad 下载生成的证书(cer后缀的文件),然后点击Done,你创建的发布证书就会存储在帐号中。


-
注意:
-
这个证书只能下载一次。点击下载后,关闭页面后就不能再回到下载页面了。
-
如果不需要给别的电脑使用,则直接跳过下面附加项,跳转到第五步(绑定Bundle Identifier)
附加项:生成p12文件在其他电脑上使用这个发布证书
- 双击安装证书后,打开钥匙串访问,选择安装的证书右键单击

注意:如果没有导出,可以把这个证书删除,然后重新双击下载的证书文件安装。
-
导出证书
25.png -
存储证书
26.png
注意:存储的文件格式一定要是.p12
- 设置密码
可为证书设置密码,也可不设置密码;如果设置了密码,那么别人安装这个证书的时候就要输入密码,否则无法安装。

如果需要在其它电脑上也能发布App,那么就必须要安装这个发布证书。

五、创建App IDs和绑定你的App的Bundle Identifier
https://developer.apple.com/account/ios/identifiers/bundle/bundleList.action


-
注意:
-
上传App使用的Bundle Identifier,不能使用占位符。
-
如果你的Bundle Identifier已经在网站上绑定了,如果你又修改了你工程里面这个Bundle Identifier的话,需要重新进入到开发者账号里面绑定。

- 选择App中包含的服务,默认有两项




六、生成描述文件
- 找到Provisioning Profiles ,点击All,然后点击右上角 + 号

- 选择下面App Store这个描述文件,点击Continue






七、在App Store开辟空间
4、提交到App Store
进入iTunes Connet
我的App
新建App 填写基本信息
设置App 信息
设置价格与销售范围
填写App相关信息
在Xcode中,点击左侧目录中的项目名称,选择TARGETS -> Build Settings -> Signing ,将下图所示的文件切换成对应的发布证书和Distribution provisioning profile,同理将 PROJECT -> Build Settings -> Signing中的对应证书和provisioning profile 也进行切换。
在TARGETS -> General中可以编辑App的基本信息,包括App名称、Bundle ID 、版本号、适配系统的最低版本号以及设备类型等等。
编辑App信息和部署的设备信息
选择Generic iOS Device
选择 Produce -> Archive。
打包应用程序
上传到AppStore
Upload to App Store
此时会提示选择开发者账号,如之前没有登录,则点击“Add”按钮添加账号,如果已登录则直接选择相应账号。
点击按钮,添加账号
选择对应开发者账号
点击“upload”上传应用。
上传App
大约过十分钟左右,刷新 iTunes Connect ,可以看到“构建版本”右侧多出了一个添加按钮,点击后可以看到刚刚上传的App,选择并点击“完成”。
点击添加按钮
选择构建版本
最后,点击页面右上角的“提交以供审核”就大功告成了,坐等审核通过吧!
这里出现的信息根据app的类型不同、有不同的选项、根据自己的app的情况选择
一般选择否。
然后提交、显示为正在等待审核、耐心的等苹果公司那边审核了,初次提交1到2天出结果。

提交审核回到我的APP查看会提示正在等待审核,审核有时很快一两天,或要几天时间,常登陆看看审核情况,或看邮件提示。
如果变成可供销售,恭喜你~上架成功了,如果显示被拒绝,点击查看问题,根据反馈修改再重新打包上传提交审核。
如果被拒,看下面教程重新提交审核