在iOS工作中,一个公司往往只有一个开发者账号,而iOS团队则会有多人,这个时候怎么管理我们的证书呢?
证书的管理也主要看公司工作流的安排,如果仅需开发人员做到提交测试包那么可以用开发者账户的团队管理功能,如果需要开发人员打包分发公司外部人员和打包上线版本,那么你可以给其他开发成员发开发证书和发布证书的p12文件。当然工作流还有可能涉及到自动集成等场景,本文只介绍上述两种基础使用,其他场景都可以基于这两种方法来进行调整。
使用开发者账号管理团队证书
第一种方法是最便捷的方式,对于开发者账号我们是可以邀请团队成员的。在开发者账号的people选项中可以填写其他开发人员Apple ID的邮箱,邀请成为团队成员,开发人员接受邀请之后成为团队成员。
开发者账号团队成员可以登录自己的Apple ID生成开发证书,但是不能生成发布证书,也就是团队成员只具有开发权限,不具有发布权限。然后管理员可以生成开发配置文件,在这一步除了选择设备,还可以选择包含证书,这时勾选上其他开发人员的证书,其他开发人员就可以用自己的Apple ID和开发证书来匹配相应的开发配置文件,并且可以打测试包。对于只需要提供测试包的团队,这时一种很简洁的管理方式。既不用麻烦的导p12文件,也可以随时编辑、重生成证书,而不用担心影响其他开发人员,他们只需要及时更新配置文件就可以了。
使用p12文件
对于那些需要提供发布包,不管是ad-hoc还是distribution包,可以由管理员导出开发证书和发布证书的p12文件,分发给其他开发人员。p12文件其实就是开发证书和发布证书数字签名的私钥,这种分发私钥的方式当然会造成一定的安全问题啦。(关于iOS证书的数字签名原理可以阅读我之前的iOS数字签名及ipa重签名)。其他开发人员有签名私钥之后就可以匹配验证相应开发配置文件和发布配置文件,完成相应打包。
证书管理过程中遇到的一些问题
证书的位置
证书都是放在钥匙串的登录目录下面的,不要放在系统目录下,放在系统目录下很容易造成验证问题。
对于钥匙串中证书放置产生混乱而造成的签名问题,可以在钥匙串的偏好设置中还原默认钥匙串,然后再重新下载证书,正确安装就行。
证书的设置
证书安装后,不要修改证书的设置,主要就是证书的信任选项。
正常生成的证书都是使用系统默认,有时会看到有证书签名问题的解决方式是修改为始终信任。建议不要采用这种解决方式,因为始终信任可能会造成打的包安装后无法进入app,点进去后就闪退出来的现象。一般而言,签名出问题了一定是证书的某一流程出了问题,不要随意修改设置。
当然,有特殊信任要求的除外。