在Jenkins中运行XCodeBuild的代码签名错误
[不再是类似问题的重复,如下文所述]
我在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是最不痛苦的解决方案. 祝你好运.你会解决它只是一个巨大的头痛! (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |