加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

在Jenkins中运行XCodeBuild的代码签名错误

发布时间:2020-12-14 18:02:05 所属栏目:百科 来源:网络整理
导读:[不再是类似问题的重复,如下文所述] 我在Jenkins中运行XCodeBuild时遇到代码签名错误,但是它可以从命令行或Xcode中构建. 过去有几个人遇到过这个问题,与他们共同的主题是Jenkins在启动时作为守护进程用户运行,因此尝试访问系统密钥链. 人们应用的解决方案是
[不再是类似问题的重复,如下文所述]

我在Jenkins中运行XCodeBuild时遇到代码签名错误,但是它可以从命令行或Xcode中构建.

过去有几个人遇到过这个问题,与他们共同的主题是Jenkins在启动时作为守护进程用户运行,因此尝试访问系统密钥链.
人们应用的解决方案是将凭证复制到系统钥匙串或运行命令来设置要使用的钥匙串.

但是在我的情况下,如果我在活动管理器中查看launchd,则用户显示为我登录到计算机的用户,因此Jenkins应该作为此用户而不是作为守护程序用户运行.

我尝试在运行XCodeBuild之前通过将此命令添加到Jenkins脚本来设置要使用的钥匙串

security list-keychains -s /Users/[user]/Library/Keychains/login.keychain

但这并没有解决问题.

我得到的错误是:

Code Sign error: The identity 'iPhone Developer: NNNNN (9TYX5WAM63)' doesn't match any valid,non-expired certificate/private key pair in your keychains"

所以我尝试将凭据移动到系统密钥链,但现在在Jenkins中出现此错误,但从命令行仍然可以:

Code Sign error: Provisioning profile 'F152C66E-B99A-47F6-B262-376CE4403D71' can't be found

此外,当我将凭据移动到系统密钥链时,我不再能够在XCOde中构建 – 我得到的错误与上面的顶部错误消息相同.

我也尝试编辑org.jenkins-ci.plist文件,将用户设置为我登录到机器的人,按照这个,但是也没有效果.

Missing certificates and keys in the keychain while using Jenkins/Hudson as Continuous Integration for iOS and Mac development

我接下来会尝试什么想法?

解决方法

我觉得你们最后一次搞砸了这件事,这真的是挑战.我们在为项目设置CI服务器时执行了此操作.如果我没记错(广泛地),我们遵循以下步骤:

1)将Jenkins设置为Apple Dev帐户的开发人员

2)专门为Jenkins创建了一个证书和开发配置文件

3)在CI服务器上设置Jenkins用户,并从该用户的xcode中删除任何以前的证书/ prov配置文件

4)将Jenkins证书添加到AD-Hoc Dist配置文件中(如果您尝试将.ipa分发到HockeyApp,则需要将其用于存档构建.)

5)进入xcode项目文件并删除对Provisioning Profiles的任何现有引用

6)下载并安装此用户的证书和相应的Prov Profiles.

7)在构建解锁之前,Jenkins用户钥匙串.仅当Jenkins用户不是运行xcode构建的用户时才执行此操作.

当以Jenkins用户身份登录时,验证Xcode在组织者中显示Prov Profile是否有效.

我知道我的答案有点模糊,我的意图是要有所帮助.这种类型的错误通常是由三件事之一引起的. Xcode无法找到配置文件,Xcode无法找到证书或Xcode发现多于一个配置文件(应该产生不同的错误,但并不总是)并且有某种不匹配.通常重做Prov Profiles是最不痛苦的解决方案.

祝你好运.你会解决它只是一个巨大的头痛!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读