由于iOS证书及描述文件有效期为一年,所以开发版与企业版证书过期前要注意更新这两个文件,如何重新生成这两个文件及如何更新再Jenkins中更新参考以下笔记。
登录https://developer.apple.com/account/resources/certificates/后,先切换到企业版分组,可以查看到对应证书的有效期,过期后系统会标红,此时需要重新生成证书及对应描述文件。
生成证书,进入路径Certificates, Identifiers & Profiles--Certificates,点击“+”,选择“In-House and Ad Hoc” ,然后continue,选择打包服务器上的csr文件,保存即可。
csr文件生成是通过打包服务器钥匙串申请来的,申请方法:进入打包服务器打开钥匙串,进入路径 “钥匙串访问”--证书助理--“从证书颁发机构请求证书”,录入用户电子邮箱地址、常用名、CA电子邮件地址,请示是 选择存储到磁盘,即可。生成的crs文件备份一份,以后其他环境证书过期可能还会用到此crs文件。
生成描述文件,进入路径Certificates, Identifiers & Profiles--Profiles,点击“+”,选择“In House”,然后选择对应APPID,继续选择上述生成的证书保存即可。
将上述生成的证书及描述文件下载下来,在打包服务器上保存。
保存的证书在打包服务器上双击后,在钥匙串中即可查看。
保存的描述文件上传至Jenkins上,上传方法:Jenkins--系统管理--Keychains and Provisioning Profiles Management,中更新描述文件即可。
更新后在对应打包项目中更新最新的证书及描述文件即可。
重新打包,搞定。
补充点:由于jenkins部分版本存在兼容性问题,部分版本中页面提交存在提交不了情况,可以尝试直接修改Jenkins中配置文件进行更新证书及描述文件;
修改方法证书方法:进入Jenkins配置路径:/Users/user/.jenkins/com.sic.plugins.kpp.provider.KPPKeychainsProvider.xml中更新证书文件名,修改处:<codeSigningIdentityName>,将钥匙串中更新后的证书名更新到此字段即可;例如<com.sic.plugins.kpp.model.KPPCertificate> <codeSigningIdentityName>iPhone Distribution: *******.</codeSigningIdentityName> </com.sic.plugins.kpp.model.KPPCertificate>
描述文件修改方法:进入Jenkins配置路径:/Users/user/.jenkins,将最新的描述文件替换至此路径下即可(将对应历史描述文件移除);