iOS APP上架流程详解
前言:作为一名 iOS 开发工程师, APP 的上架是必备技能.
iOS 上架的流程主要可以简单总结为:
一个包,两个网址,三个证书,
一个包: iPA 包,上架用的.
两个网址:1>https://itunesconnect.apple.com
2>https://developer.apple.com
三个证书:
1>签名证书.(MAC 电脑钥匙串生成)
2>制作发布证书.(签名证书+开发者账号)
3>制作 PP 证书.(发布证书+ App ID)
详细步骤:
一、在电脑上创建一个证书请求文件(签名证书)
首先,打开应用程序->实用工具->钥匙串访问(KEY CHAIN),如下图所示:
在证书助理中,选从证书颁发机构请求证书:

应用程序-实用工具-钥匙串访问
当然,也可以Launchpad->其他->钥匙串访问

钥匙串访问.png
在证书助理中,选从证书颁发机构请求证书:

钥匙串访问证书助理.png
点击从证书颁发机构申请证书,进入如下界面:

证书信息.png
注意:
1> 电子邮件地址: 填写你申请开发者账号的电子邮件地址
2> 常用名称: 默认就好
3> CA电子邮件地址: 空
4> 请求存储到磁盘(到时可以选择保存到桌面,方便找到使用)
点击继续,来到以下界面

保存.png
点击存储,将请求文件保存到了桌面上

桌面上的签名证书.png
此时,在桌面上就可以看到一个CertificateSigningRequest.certSigningRequest的证书请求文件(CSR文件)。
注意: CSR文件尽量每个证书都制作一次,将常用名称区分开来,因为该常用名称是证书中的密钥的名字。
双击CSR文件,安装签名证书

安装证书请求文件.png
点击继续,选择为您自己创建证书

创建证书.png
再点击继续

创建您的证书.png
点击创建,制作自签名根证书

制作自签名根证书.png
点击继续,证书成功创建

成功创建证书.png
签名算法: 带 RSA加密的 SHA-256公共密钥信息: RSA 加密,公共密钥256字节
二. 制作发布证书
2.1 前期准备工作
首先,需要具备以下条件
1> 苹果的开发者账号
2> Mac操作系统
3> Xcode(这里使用的是Xcode7.3正式版)
如果没有账号,可以打开http://developer.apple.com/注册苹果的开发者帐号。开发者帐号具体申请流程,这里不再细述。
如果已经有开发者账号,打开http://developer.apple.com/

开发者网站新首页.png
点击Account,进入到苹果 MemberCenter 的登录界面,如下:

登录界面.png
输入自己的开发者账号,登录,进入如下界面:

开发者账号首页.png
2.2 发布证书的制作
点击Certificates,Identifiers&Profiles,进入如下界面:

添加证书界面.png
点击右上角的加号按钮,然后选择Production -> App Store and Hoc

选择制作发布证书.png
点击Continue

CSR文件.png
由于CSR文件已经创建好,直接点击Continue,然后上传 CSR 文件

生成你的证书.png
点击Choose File,选中在Mac上配置的请求文件

选中请求文件.png
点击Continue,这个时候,发布证书已经制作完毕

发布证书制作完毕.png
点击Download,这时就有了一个 .cer 证书文件`ios_distribution-8.cer

发布证书文件
`
双击安装证书(如果安装不上,可以直接将证书文件拖拽到钥匙串访问的列表中)

证书已经安装到钥匙串.png
三、制作Provisioning Profiles证书(简称PP证书)
到目前为止,上架所需要的证书还不齐全,想提交AppStore,还需要PP证书。
1> PP证书分为 开发用的PP证书 和 发布用的PP证书,这里我们制作的是 发布用的PP证书
2> 制作 PP 证书,需要 App ID 和 发布证书(发布证书在上一步已经做好了)
3.1 申请 App ID
选择 App IDs

选择App IDs.png
然后点右上角的加号,创建一个新的 App ID

Snip20160426_36.png
注意: 这里有两项需要我们自己填:
1> 第一项'Name',用来描述你的'AppID',这个随便填,没有什么限制,最好是项目名称,这样方便自己辨识(不允许包含中文);
2> 第二项'Bundle ID (App ID Suffix)',这是你'App ID'的后缀,这个需要仔细填写。因为这个内容和你的程序直接相关,后面很多地方都要用到,最好是'com.yourcompany.yourappname'的格式,说白了,就是用项目中的Bundle ID(这样是最保险的)。
选择你的app中需要的服务

App Services.png
注意:
1> wildCard格式的证书没有推送,PassCard等服务的应用,慎重选择。
2> 有一个区别,因为PP证书的开发者证书需要真机调试,所以我们需要绑定真机,如果没有的话,需要将真机的udid复制出来在此添加,在发布PP证书中,是没有这一步的。
点击Continue,进入如下界面

确认你的App ID.png
确认 App ID信息,如果无误,点击Register

注册完毕.png
点击Done,这时 App ID就申请成功了

Test888
3.2 制作发布用的PP证书
点击 Provisioning Profiles,然后点击右上角的加号

发布PP证书.png
点击Continue,如图,选择我们自己的 App ID

选择自己的App ID.png
点击Continue,选择发布证书

选择发布证书.png
点击Continue,如图,给PP证书起个名字

给PP证书命名
点击Continue,如图,PP证书制作完毕

PP证书制作完毕.png
点击Download将PP证书下载下来,如图

证书.png
双击PP证书,将其添加到Xcode中
四、配置项目环境
4.1 Account的配置
Xcode ->Preferences->Account,如图

Account配置界面.png
1> 点击+可以选择Add Apple ID;
2> 点击View Details可以查看该Apple Id下的Certificates和Provisioning Profile证书文件,在这里你可以点击下载。

View Details界面.png
4.2 项目配置
在项目Targets下的Identity中,Team选择对应的Apple ID 即可

选择对应的Apple ID.png
在Xcode的项目设置里,Provisioning Profile就可以选择对应的证书。

选择对应的PP证书.png
到此为止,前期的准备工作就做完了。
五、ipa打包
5.1 Archive在线打包
在真机状态下选择Product->Archive(如果不是真机状态下,Archive会是灰色不可用的),成功会弹出如下图:

操作步骤.png

Archive在线打包成功后返回的界面.png
1> Validate表示验证,Export表示导出.
2> 建议先点击Validate进行验证,验证的过程有点慢,但是为了审核顺利点,还是验证下为好。
3> 验证成功后点击Export导出ipa的包用与上传即可。

导出ipa.png

Test888.ipa.png
六、ipa提交App Store
6.1 在 iTunes中创建程序
选择 iTunes Connect

iTunes Connect.png

进入iTunes Connect网页.png
进入 iTunes Connect 网页

iTunes Connect首页.png
打开我的App,然后点击左上角的加号,新建 App

新建App.png
弹出以下界面,设置 App信息

App信息.png
1> 名称:指的是App上架后,显示在App Store中的名称
2> 主要语言:SimplifiedChinese(简体中文)
3> 套装ID: Test888-com.iOS.www.* 就是之前申请的 App ID4> 套装ID后缀: Test888 后缀就是Xcode中的 Bundle Identifier 最后一个点后面的内容(本例中是 Test888)5> SKU: 可以使用项目中的 Bundle Identifier
点击创建

App信息界面.png
价格与销售范围,根据app不同自己填写

价格与销售范围.png
设置完App信息,点击准备提交,进入如下界面

准备提交界面.png
设置App预览和屏幕快照

屏幕快照.png
注意:
1> 这里需要不同屏幕的截图,可以直接用模拟器运行后截图。待模拟器运行开始的时候,按住cmd+S, 模拟器的屏幕截图就直接保存在桌面上了
2> 每种尺寸的屏幕截图必须是在模拟器100%的比例下进行截取。否则会报错。
3> 上传的时候会提示“无法载入文件”的问题。原因是:截图保存的文件名有中文,修改下截图名称即可!
4> 屏幕尺寸大家都可以查到,为了自己方便,简单备注下:4.7英寸 -> iPhone6/s5.5英寸—>iPhone6/s Plus4英寸 —>iPhone5S3.5英寸 —> iPhone4S
设置App描述和关键字

App描述和关键字.png
1> 描述: 对App进行简要介绍,让用户快速了解App的基本功能
2> 关键字: 用户可以通过这些关键字找到App
3> 技术支持网址
4> 营销网址
设置App 综合信息

App综合信息.png
注意:
1> 上传App Icon的时候,需要上传1024*1024的,而且不能有圆角效果和透明效果!
2> 点击编辑,设置分级,需要根据app的实际情况来设置
3> 版权,app的所有者和获利时间
App 审核信息

App审核信息.png
注意: 审核信息,必须填写
设置版本发布选项,本例选择的是手动发布

版本发布选项.png
提交构建版本,打开Xcode,上传应用程序包

上传应用程序包.png

正在上传.png
等上几分钟

上传成功.png
有两种方式:
1> Xcode6或更高版本
2> Application Loader3.0或更高版本提交构建版本
回到 iTunes Connect网页,选择构建版本

选择一个需要上架的构建版本.png
点击提交以供审核

最后的确认信息.png
1> 出口合规信息: 如果使用了加密,选择『是』,否则选『否』
2> 内容版权: 包含了第三方的东西,就选『是』,否则选『否』
3> 广告标识符(IDFA): 这个一定要选对,选错了会导致二进制文件永久被拒,需要重新提交二进制文件。
点击提交

等待审核.png
到此,整个 App 上架流程就演示完了!
如有不足, 欢迎评论指正.