iOS应用上线——从证书申请到打包上线
本文只针对应用上线来写,其他与上线无关的证书都不在考虑范围内。考虑到第一次接触开发者账号并申请证书的童鞋,本文采取傻瓜式书写流程(即按照流程无脑操作即可),文章末尾会给予一定的概念描述。话不多说,下面将详细介绍流程。
一、在申请证书前,我们需要做一些准备工作:
1.首先你要准备好“苹果全球开发者关系证书”即AppleWWDRCA.cer
这里分为两种情况:<1> 若之前使用过全球开发者证书,打开钥匙串访问->点击最上面工具栏显示->显示已过期的证书(或keychains - >View -> Show Expired Certificates)
在登录和系统项中选择证书,若存在如上图中显示的AppleWWDRCA失效证书,,则说明苹果全球开发者证书过期,需要我们删除
存在于登录和系统项(两项中都可能存在,只有都删除了才有效)中的AppleWWDRCA证书,下载新的苹果开发者证书https://developer.apple.com/certificationauthority/AppleWWDRCA.cer,并双击安装后,再看钥匙串中的
AppleWWDRCA证书已经提示为“此证书有效”,如下图
若之前使用过,且已经是有效证书,请忽略准备工作的第一步。
<2> 若之前未使用过全球开发者证书,请直接点击<1>中苹果全球开发者证书的链接下载,并双击安装。
对于不清楚自己的mac是否使用过的童鞋请参考情况<1>。
2.在苹果开发者后台中申请证书前,我们还需要准备一个CSR文件,在钥匙串访问下拉菜单中选证书助理 - > 从证书颁发机构请求证书。
点击“从证书颁发机构请求证书...”后,弹出下图,按图操作后,点击继续按钮
然后根据下图中提示完成操作后点击存储按钮,并在自己的存储位置找到CSR文件。
好了,到这里为止准备工作就已经结束了。
二、申请应用发布到AppStore所需证书
废话不多说,直接上硬菜
进入苹果开发者后台点击右上角“账户”或"Account"按钮,登录你的苹果开发者账号后,选择"Certificates, IDs & Profiles",如下图中红框中的任意一个。
1.申请发布证书(也叫生产证书或分发证书)
然后点击下图中Continue按钮以继续
到这里发布证书(也叫生产证书或分发证书)就申请完成了,点击Download按钮下载后,点击Done。
或者你也可以点击左侧Production - > 新申请的发布证书 - > Download下载,如下图。
注意:《1》上面提到的发布证书有申请个数限定(开发证书也一样),超过即不可申请(亲测),望各位童鞋们慎重申请。
我用苹果个人开发者账号申请了发布证书三个(开发证书两个),公司开发者账号发布证书两个(开发证书两个),企业级开发者账号发布证书两个(开发证书两个),由此得出结论每个证书申请的限定个数一般为2个,也不排除3个的可能。由于没有更多的账号,以上不一定是绝对的,若有更准确的答案欢迎改正。
《2》发布证书可以和多个App ID关联,一般情况下发布证书申请一个就可以了。
2.申请App ID(也就是Xcode中的boundle Id),若App ID已存在,请忽略这一步。
点击register后,出现新页面点击Done即可。
创建推送生产证书的操作同创建发布证书的流程相同,请参考第1.步进行操作。
OK,到这里App ID创建完成。
3.创建授权文件(也叫配置文件或描述文件)
点击继续后在新的页面中点击Download下载授权文件即可。
在你的默认下载路径中找到下载的三个文件(如下图,根据命名能知道,第一个发布证书,第二个推送生产证书,第三个授权文件)
到这里应用打包上线所需要的证书就创建完毕了。
四、应用打包上传iTunes后台(默认你的应用已完成,iTunes后台App已经创建,如果不创建无法上传)
首先,将刚才得到的ios_distribution.cer发布证书双击安装到钥匙串访问
然后用Xcode打开自己的应用后,双击uploadTest.mobileprovision授权文件,它会自己安装到Xcode中。
然后按下图中描述操作:
如果Team中没有选项:
添加你的开发者账号后Team中就会增加一个以你账号命名的选项,选择即可。(有可能会有延时,可能要等会儿出现)
注意:如果你的账号名下有两个选项,一个是开发证书,一个是发布证书。开发证书后面会带有“(Personal Team)”的字样,选择另外一个即是发布证书(打包上线用)。
到这里我们就可以开始打包上传了。
打开Product - > Archive 点击
如果Archive失败,出现找不到对应UUID...的错误的话(如下图)
将Code Signing 中Provisioning Profile项中选择Automatic,重新Archive即可
原因不详,自从更行了Xcode7.2后就会出现这个问题。QAQ
等Archive成功后会弹出一个窗口如下图,点击Validate验证一下应用。
点击Validate验证
验证这一步可能会有点耗时(跟苹果服务器和你的网络有关)
验证成功后,点击Upload to App Store上传
同Validate时一样,选择开发证书对应的Team,点击Choose
然后点击Upload按钮上传
上传时也可能有点耗时,只能等...
等上传成功会有Success的提醒,点击Done即可。这时已经说明打包上传App Store成功
到iTunes Connect后台 - > 你的App - > 准备提交的版本 - > 构建版本旁边的“+”号或选择一个构建版本。
选择刚才打包上传的版本后,点完成。
这里需要注意的是.ipa包上传成功后到构建版本中显示,这段时间是不确定的,可能与苹果服务器有关,我等过最长时间的一次是一天左右。。。不过近期貌似都挺快的
到这里就告一段落了,iTunes后台App中的其它信息可以根据公司的要求来填写,完成之后点击右上角“存储”后,点击“提交以供审核”即可。
以上两项,如果公司没有特别说明,都选否然后提交即可。
OK,打完收工,接下来给大家科普一下关于证书的大致概念:
1. Certification(证书)
证书是对电脑开发资格的认证,分为两种:
1) Developer Certification(开发证书)
安装在电脑上提供权限:开发人员通过设备进行真机测试。
可以生成副本供多台电脑安装;
2) Distribution Certification(发布证书)
安装在电脑上提供发布iOS程序的权限:开发人员可以制做测试版和发布版的程序。
可以生成副本,供多台电脑安装使用;
注:以上两种证书,用了一台电脑的CSR文件配置并下载下来之后,只有配置该证书的电脑才可使用。所以如果想要用其它电脑使用以上两种证书就需要制作副本(即生成.12文件)(副本制做介绍在下面Keychain中介绍)
2. Provisioning Profile(授权文件)
授权文件是对设备如iPod Touch、iPad、iPhone的授权,文件内记录的是设备的UDID和程序的App Id,即使被授权的设备可以安装或调试Bundle identifier与授权文件中记录的App Id对应的程序。
开发者帐号在创建授权文件时候会选择App Id,(开发者帐号下App Id中添加,单选)和UDID(开发者帐号下Devices中添加最多100个,多选)。
授权文件分为两种,对应相应的证书使用:
1) Developer Provisioning Profile(开发授权文件)
在装有开发证书或副本(.p12文件)的电脑上使用,开发人员选择该授权文件通过电脑将程序安装到授权文件记录的设备中,即可进行真机测试。
注意:确保电脑有权限真机调试,即安装了开发证书或副本;在开发工具中程序的Bundle identifier和选中使用的授权文件的App Id要一致;连接调试的设备的UDID在选中的授权文件中有记录。
2) Distribution Provisioning Profile(发布授权文件)
在装有发布证书或副本(.p12文件)的电脑上(不只一台)制做测试版和发布版的程序。
发布版就是发布到App Store上的程序文件,开发者帐号创建授权文件时选择store选项,选择App Id,无需选择UDID;
测试版就是在发布之前交给测试人员可同步到设备上的程序文件,开发者帐号创建授权文件时选择AdHoc,选择App Id和UDID;只有选中的UDID对应的设备才可能安装上通过该授权文件制做的程序。
3. Keychain(开发密钥)
安装证书成功的情况下证书下都会生成Keychain,上面提到的证书副本就是通过配置证书的电脑导出Keychain(就是.p12文件)安装到其他机子上,让其他机子得到证书对应的权限。Developer Certification和Distribution Certification都可以制做副本Keychain(即.p12文件
)
分发到其他电脑上安装,使其可以进行真机测试
或发布应用
。
以上关于证书概念内容转载自http://southking.iteye.com/blog/1428776,个人感觉有些错误并作出了改正,若不对欢迎指正,勿喷。
Distribution Certification证书导出的.p12文件安装到其他电脑上,可以赋予其他电脑发布应用的权限,亲测。
副本(.p12文件)的导出流程:
在钥匙串访问中找到需要导出的证书 - > 右键点击 - > 选择导出(你的证书)
点击存储后,给.p12文件设置一个密码确定即可。然后在存储路径中找到.p12文件
五、对于推送的开发和生产证书的处理
关于推送的开发和生产证书:
1.先双击将证书(.cer)安装到钥匙串访问中;
2.按照上面导出.p12文件的流程导出.p12文件;
3.将.p12文件和文件的密码上传给第三方推送平台即可。
OK,文章到这里就结束了,如果发现有不对的地方欢迎指正,谢谢大家!互相学习共同进步!