Jenkins iOS打包证书问题

Jenkins 打包相关问题记录

打包失败截图:

1、证书找不到 NO certificate matching ‘ ‘ for ‘ ’ code singing is required ….

《Jenkins iOS打包证书问题》 D791BAD1-390A-4587-A35C-A743A3D88D52.png

由于更新过证书配置,导致新证书没有导入到Jenkins中。

配置步骤:
Jenkins-系统管理-keychains and provisioning profiles managerment
以为 更新 login.keychain 就好了,其实并不然

《Jenkins iOS打包证书问题》 25DE5B03-AC83-49FA-9677-4E828EBB570F.png

在升级至Mac 10.12 之后 login.keychain 的存储发生改变。
默认 10.12 的钥匙串存储为👇
路径: ~/Library/Keychains/login.keychain-db

《Jenkins iOS打包证书问题》 A774CF07-6ACC-4A48-A079-0F66B0B8D6C1.png

而10.12之前版本 为

《Jenkins iOS打包证书问题》 FE243165-275E-41C0-8F8C-8109AAE7DC7A.png

老版本 默认存在 login.keychain 中,而升级到10.12后会存在 login.keychain-db中。
这是第一个注意点。

重点:
由于Jenkins不支持上传文件后缀为 keychain-db的文件。
我们需要做的就是
1、copy ~/Library/Keychains/login.keychain-db
2、rename 为login.keychain
3、upload 至Jenkins keychains and provisioning profiles managerment
4 、done

在进行打包,这次应该可以了吧。
结果。。。

《Jenkins iOS打包证书问题》 1.png

第二个错误: Command /usr/bin/codesign failed with exit code 1

Google了一圈,有要clean 工程的,有要获取login.keychain权限的。
最终还是发现在,权限问题上有问题,通过对比,通过xcode 打包,导出的时候发现,有个codesign过程。原来 Jenkins 会获取不到权限。

由于我们自动化打包使用全局配置,我也是醉了。找了半天。
最后在 Jenkins – 系统设置 – 系统配置

xcode 配置

《Jenkins iOS打包证书问题》 6BD03989-FCD2-4B0C-A066-D7406FBAC0B9.png

根据项目情况,我们分为了开发,和生产,所以配置两个,根据证书名进行区分。

经过半天的折腾,终于可以再次打包。

(上天还是爱我的~)

    原文作者:一个人的思考
    原文地址: https://www.jianshu.com/p/6ab1a13cbea6
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞