iOS 自动打包如何配置配置打包证书和profile provision文件

Jenkins 打包相关问题记录

打包失败截图:

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

D791BAD1-390A-4587-A35C-A743A3D88D52.png

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

配置步骤:

Jenkins-系统管理-keychains and provisioning profiles managerment

以为 更新 login.keychain 就好了,其实并不然

25DE5B03-AC83-49FA-9677-4E828EBB570F.png

在升级至Mac 10.12 之后 login.keychain 的存储发生改变。

默认 10.12 的钥匙串存储为👇

路径: ~/Library/Keychains/login.keychain-db

A774CF07-6ACC-4A48-A079-0F66B0B8D6C1.png

而10.12之前版本 为

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

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

结果。。。

1.png

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

Google了一圈,有要clean 工程的,有要获取login.keychain权限的。

最终还是发现在,权限问题上有问题,通过对比,通过xcode 打包,导出的时候发现,有个codesign过程。原来 Jenkins 会获取不到权限。

由于我们自动化打包使用全局配置,我也是醉了。找了半天。

最后在 Jenkins - 系统设置 - 系统配置

xcode 配置

6BD03989-FCD2-4B0C-A066-D7406FBAC0B9.png

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

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

前提:

1、执行以下操作的时候,确保你正确的安装并启动了jenkins,而且安装了插件Keychain and Provisioning Profiles Management

2、下边操作是建立在mac电脑,并安装了xcode环境

3、对苹果的证书要有一定的了解 > 苹果证书

ps: 如果没问题则进行以下操作

进入jenkins: 系统管理 > Keychain and Provisioning Profiles Management

一、上传login.keychain
ps: 这里有一个坑老版本 默认存在 login.keychain 中,而升级到10.12后会存在 login.keychain-db中。

login.keychain的路径: ~/Library/Keychains

由于Jenkins不支持上传文件后缀为 keychain-db的文件。

我们需要做的就是

1、复制 keychain-db的文件 到桌面

2、重命名 为login.keychain

3、upload 至Jenkins

4、done

26A31489-EE1C-40D4-A52F-B64F5F2CC089.png

ps:这里比较坑的一点就是,这个证书名字居然是自己填写的(我当初一直以为这是选项卡,纠结了好久)

则如果有多个证书,则点击Add Code Signing Identity添加

证书位置在mac本的钥匙串访问应用里边,如图:

D42AB6FF-D6CB-4ADE-8C24-E61EEFE1094E.png

完成之后点击save保存,钥匙串就上传完毕了。

二、上传描述文件

描述文件路径:~/Library/MobileDevice/Provisioning Profiles

描述文件的上传和login.keychain的上传方式一样,点击上传成功之后会出现如下界面:

435B9604-FE14-4619-BC67-0EA99CA720F1.png

正确填写路径之后点击保存,描述文件也上传完毕。

希望以上能帮到你,如有问题请留言。

参考:https://www.jianshu.com/p/6ab1a13cbea6

相关推荐
程序猿看视界2 小时前
如何在 UniApp 中实现 iOS 版本更新检测
ios·uniapp·版本更新
dr李四维6 小时前
iOS构建版本以及Hbuilder打iOS的ipa包全流程
前端·笔记·ios·产品运营·产品经理·xcode
️ 邪神6 小时前
【Android、IOS、Flutter、鸿蒙、ReactNative 】自定义View
flutter·ios·鸿蒙·reactnative·anroid
比格丽巴格丽抱18 小时前
flutter项目苹果编译运行打包上线
flutter·ios
网络安全-老纪19 小时前
iOS应用网络安全之HTTPS
web安全·ios·https
1024小神21 小时前
tauri2.0版本开发苹果ios和安卓android应用,环境搭建和最后编译为apk
android·ios·tauri
lzhdim1 天前
iPhone 17 Air看点汇总:薄至6mm 刷新苹果轻薄纪录
ios·iphone
安和昂1 天前
【iOS】知乎日报第四周总结
ios
麦田里的守望者江1 天前
KMP 中的 expect 和 actual 声明
android·ios·kotlin
_黎明1 天前
【Swift】字符串和字符
开发语言·ios·swift