iOS证书那些事

网上很多类似的东西,犹豫了很久要不要发。最后决定还是发了吧,文中iTunesConnect和MemberCenter的截图部分换了最新版本的,方便新手理解吧。

一、iOS开发者账号的分类

iOS开发者帐号分为两种:

  1. 个人帐号/公司帐号:$99/年,能够上传App Store,不能够打包直接在设备上运行。(公司帐号可以创建多个子账号,其他和个人帐号没有区别)。
  2. 企业帐号:$299/年,不能上传到App Store,可以在企业内部分发(用这种证书打出来的包能在任何iOS设备上运行,不需要苹果的验证、签名)。

二、iOS应用发布方式

1、App Store:苹果应用商店,普通iOS用户都可以在App Store上下载应用。
2、In-House:企业内部分发,通过企业证书打包并选择In-House方式打包,可以将打包完的ipa装到任意符合应用安装要求的设备上,不需要苹果的验证和签名。
3、AD-Hoc:两种开发这帐号均可以选择AD-Hoc方式打包,可以将打包完的ipa装到任意符合应用安装要求的设备上。和In-House方式不同,这种方式限定安装设备的数量,并且设备需要在开发这帐号中注册。

三、iOS证书的分类

证书主要包括调试证书、发布证书和推送证书等,由于Xcode 7取消了真机调试签名的验证,使得调试证书不再重要,因此现在的开发者可以不需要创建调试证书。
iOS打包准备工作步骤

  1. 创建发布证书(仅首次)
  2. 创建AppID
  3. 创建发布Profile文件
  4. 导入打包证书和Profile文件

四、iOS发布App Store流程

1.登录developer.apple.com

登录developer.apple.com

2.点击member center后 进下图
member center

3.点击certificates Identifiers进下图
certificates Identifiers

4.点击Certificates进下图,首先创建App IDs
创建App IDs

5.其次创建相应的证书 Development是调试证书, Production是发布证书
创建相应的证书

6.点击下一步后会让你选择 本地生成本地密钥和证书关联,见下图
本地生成本地密钥和证书关联

7.本地生成密钥文件。在LaunchPad里找到钥匙串访问,
钥匙串
创建本地密钥文件见下图
本地生成密钥文件

本地生成密钥文件

ps:用户邮件地址写开发者账号的邮箱地址, CA地址不填
最终生成如下图 文件
密钥文件

8.生成本地密钥文件后(该本地密钥适用 推送 发布 开发等环境证书的创建,建议创建完后不要删掉) ,接步骤6 完成证书创建。
9.创建配置文件,见下图
创建配置文件

之上所有步骤完成后,证书和配置文件以及bundle id就创建好了。剩下在本地项目中做出相应设置
10.添加你的开发者账号和密码到项目中,见下图
Xcode配置

11.设置Build Settings,见下图。debug 对应的是开发证书和开发的配置文件,release对应的是发布证书和发布配置文件,development对应的是测试环境,production对应的是生产环境。请大家根据实际情况选择对应的证书和配置文件。
Xcode配置

12.修改bundle ID (与之前在developer上创建的bundle ID保持一致)和 bundle name(app的名字)
Xcode配置

13.修改scheme (修改为release版本)和 运行设备(修改为 iOS Device 形态),见下图
Xcode配置

Xcode配置

14.archive打包 ,根据需求(上传或测试)选择证书、配置文件和scheme,见下图,
打包

Xcode会自动弹到Organizer界面,选择对应的打包方式。发布App Store就选择第一项,AD-Hoc选择第二项,In-House选择第三项。
选择导出方式

15.这里我的目标是发布到App Store,选择第一项,点击Next,选择证书和ipa文件路径,即可生成ipa包。
16、打包之前,先到https://itunesconnect.apple.com。点击我的App,选择左上角的加号按钮,选择新建App。创建应用的名字 填入相应的应用信息,3.5寸 4寸 4.7寸 5.5寸照片各5张,基本应用的资料 以及手动发行和自动发行版本等等。
itunesconnect

17、启动Application Loader,点击选去选择之前打包好的ipa文件提交,即完成了向App Store提交应用的流程。
Application Loader

Application Loader

18、开始提交文件,耐心等待进度条走完,整个流程结束。如果报错,需要针对错误进行修改并重新提交。

有人问,为什么不用Xcode直接上传。这里我强烈建议使用Application Loader提交,因为Xcode提交二进制文件可能会出现一些莫名其妙的问题,比如没提交成功却提示你提交成功,你去iTunesConnect上看实际上却什么都没有,或者提交成功了却一直正在处理(之前有个应用就是这样,国庆前提交完了我没去看,过节后一看还是正在处理呢),或者报各种奇葩错误,而且还不能看到提交的详细进度。使用Application Loader提交会更稳定些。

五、iOS企业分发流程

1、前面的步骤参考App Store发布流程,两者是一致的,14步打包完成后选择In-House方式生成ipa文件,打包步骤结束。
2、将ipa文件通过各种渠道交付用户安装使用(无线部署、第三方分发网站、工具安装等等)。

推荐阅读更多精彩内容