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

相关推荐
fzxwl2 小时前
隆重推荐(Android 和 iOS)UI 自动化工具—Maestro
android·ui·ios
若水无华2 天前
fiddler 配置ios手机代理调试
ios·智能手机·fiddler
Aress"2 天前
【ios越狱包安装失败?uniapp导出ipa文件如何安装到苹果手机】苹果IOS直接安装IPA文件
ios·uni-app·ipa安装
Jouzzy2 天前
【iOS安全】Dopamine越狱 iPhone X iOS 16.6 (20G75) | 解决Jailbreak failed with error
安全·ios·iphone
瓜子三百克2 天前
采用sherpa-onnx 实现 ios语音唤起的调研
macos·ios·cocoa
左钦杨2 天前
IOS CSS3 right transformX 动画卡顿 回弹
前端·ios·css3
努力成为包租婆2 天前
SDK does not contain ‘libarclite‘ at the path
ios
安和昂3 天前
【iOS】Tagged Pointer
macos·ios·cocoa
I烟雨云渊T4 天前
iOS 阅后即焚功能的实现
macos·ios·cocoa
struggle20254 天前
适用于 iOS 的 开源Ultralytics YOLO:应用程序和 Swift 软件包,用于在您自己的 iOS 应用程序中运行 YOLO
yolo·ios·开源·app·swift