扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
本文结合作者的工作经历对iOS的证书(certificate)及配置文件(provisioning profile)做个总结。
成都创新互联专注于延川网站建设服务及定制,我们拥有丰富的企业做网站经验。 热诚为您提供延川营销型网站建设,延川网站制作、延川网页设计、延川网站官网定制、小程序开发服务,打造延川网络公司原创品牌,更为您提供延川网站排名全网营销落地服务。1. 发布流程
在开发及发布过程中,都会用到证书及相关的配置文件。规范的配置可以保证你的应用在上架后不会因为证书问题被审核拒绝或者影响用户使用。
2. 代码签名(Code signing)
只有通过代码签名的应用才能保证其来源是可靠的,并且代码是完整的、没被更改的。代码签名由签名标示(signing identity)及配置文件(provisioning profile)共同构成。
签名标识(由苹果提供的算法生成的一对公私钥组成),Xcode通过你的签名来创建应用。
如图所示,Juan Chavez上传他的公钥到苹果,用以生成属于他的开发/产品环境证书(certificates),持有他私钥的电脑生成的应用才能匹配成功,从而保证编译/提交成功的第一个条件。编译需要在本机安装开发环境的.cer证书,发布需要在苹果官方持有有效的产品.cer证书。
保证编译/提交成功的第二个条件是配置文件(provisioning profile)。该文件在苹果开发者后台中生成,关于如何生成,参考3.2。
3. 证书、配置文件
如果你恰好拥有APP的后台管理员权限,那么在苹果开发者后台将可以查看到"Certificates, IDs & Profiles"菜单。该目录下,有Certificates, Identifiers, Devices & Provisioning Profiles四个二级菜单。它们的关系用一张图来表示:
(1) 证书(Certificates)
证书是用于应用签名的,证书包含开发(development)和产品(production)两套环境。
一般而言,开发环境会为每位开发者创建一个开发者证书,发布版本会有一个共同的产品证书。此外,如果应用包含其他的调用服务,如通知 (app push notification service),则会单独生成相应的证书。
生成证书的步骤就不再累述了,按引导完成即可。
(2) 配置文件(Provisioning Profiles)
相对于证书(certificates),配置文件(provisioning profiles)也有开发/产品两套。
用于开发的配置文件(iOS Development)
该文件主要用于开发者在沙盒手机上测试,因此创建该配置文件时,需要勾选相关的开发者证书(哪些开发人员编译的包有权限运行),及相关沙盒手机设备(该设备在Devices中注册)。
用于发布的配置文件(iOS Distribution)
该文件用于上传包到TestFlight及苹果应用商城。因此创建该配置文件时,需要勾选用于发布的证书。
值得注意的是,一旦任何的证书失效,其相关的配置文件也将变得无效,此时可以重新生成新的证书,但只需要编辑对应的配置文件,刷新它的相关证书即可。
在Xcode中开发/发布切换证书及配置文件:
4. p12文件
如上述所示,证书(certificates)是验证应用是否有效的凭证。但证书都是直接安装在mac系统里的,如何让它导入到其他系统中,以便通过该应用ID去请求苹果的其他服务(如通知等)?
这个时候,就需要用到.p12文件。.p12文件是通过特殊格式化及加密处理的,包含应用证书的文件。其导出方式如下:
在很多的移动应用代理平台,既是用.p12的方法,让用户提交自己应用的p12文件到代理平台,由平台来中转相关请求/响应。
此外,由于用于发布的证书有且只能有一个处于激活状态,而证书的生成只能包含一个开发者ID的私钥。如果团队中需要多人承担发布版本的职能,目前能想到的办法为:
创建一个专门用于发布版本的开发者ID,用其绑定发布证书
导出该开发者ID证书的.p12文件,并分享给相关发布人员
发布人员发布版本时,通过公共开发者ID打包发布
如果读者有更好的办法,请赐教,谢谢。
希望这篇文章能为你带来帮助!
相关资料:
About App Distribution Workflows
Maintaining Your Signing Identities and Certificates
Maintaining Identifiers, Devices, and Profiles
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流