iOS证书那些事
网上很多类似的东西,犹豫了很久要不要发。最后决定还是发了吧,文中iTunesConnect和MemberCenter的截图部分换了最新版本的,方便新手理解吧。
一、iOS开发者账号的分类
iOS开发者帐号分为两种:
- 个人帐号/公司帐号:$99/年,能够上传App Store,不能够打包直接在设备上运行。(公司帐号可以创建多个子账号,其他和个人帐号没有区别)。
- 企业帐号:$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打包准备工作步骤
- 创建发布证书(仅首次)
- 创建AppID
- 创建发布Profile文件
- 导入打包证书和Profile文件
四、iOS发布App Store流程
1.登录developer.apple.com

2.点击member center后 进下图

3.点击certificates Identifiers进下图

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

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

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

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



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

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

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

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

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

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


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张,基本应用的资料 以及手动发行和自动发行版本等等。

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


18、开始提交文件,耐心等待进度条走完,整个流程结束。如果报错,需要针对错误进行修改并重新提交。
有人问,为什么不用Xcode直接上传。这里我强烈建议使用
Application Loader
提交,因为Xcode提交二进制文件可能会出现一些莫名其妙的问题,比如没提交成功却提示你提交成功,你去iTunesConnect上看实际上却什么都没有,或者提交成功了却一直正在处理(之前有个应用就是这样,国庆前提交完了我没去看,过节后一看还是正在处理呢),或者报各种奇葩错误,而且还不能看到提交的详细进度。使用Application Loader
提交会更稳定些。
五、iOS企业分发流程
1、前面的步骤参考App Store发布流程,两者是一致的,14步打包完成后选择In-House方式生成ipa文件,打包步骤结束。
2、将ipa文件通过各种渠道交付用户安装使用(无线部署、第三方分发网站、工具安装等等)。