在XCode 6.0 / 6.1上使用聚合目标时,代码签名失败

时间:2014-12-02 22:43:57

标签: ios xcode jenkins codesign

我使用带有XCode插件的Jenkins Build Server来生成我的构建。

从XCode 5.1.1升级后,我得到了一个奇怪的错误,我使用的聚合目标一次生成我的所有应用程序,当我单独运行目标时,生成的ipas没有代码签名问题。

然而,当我运行主要只是按顺序运行每个目标的聚合目标时(我没有并行构建)我得到了这个错误:

# Checking original app
+ /usr/bin/codesign --verify -vvvv /Users/Shared/JenkinsRoot/workspace/XCodeVersionTest/build/MyMobileApp.app
Program /usr/bin/codesign returned 1 : [/Users/Shared/JenkinsRoot/workspace/XCodeVersionTest/build/MyMobileApp.app: code object is not signed at all
In architecture: x86_64
]
Codesign check fails : /Users/Shared/JenkinsRoot/workspace/XCodeVersionTest/build/MyMobileApp.app: code object is not signed at all
In architecture: x86_64

Done checking the original app
### Embedding 'provisioning/MobileEnterpriseABC2014.mobileprovision'
+ /bin/rm -rf /var/folders/49/9mzjnxjs3fvf8qk6d8fkfsmh0000gn/T/LvDJMwHoHp/Payload/MyMobileApp.app/embedded.mobileprovision
Program /bin/rm returned 0 : []
+ /bin/cp -rp provisioning/MobileEnterpriseABC2014.mobileprovision /var/folders/49/9mzjnxjs3fvf8qk6d8fkfsmh0000gn/T/LvDJMwHoHp/Payload/MyMobileApp.app/embedded.mobileprovision
Program /bin/cp returned 0 : []
+ /usr/bin/codesign -d --entitlements /var/folders/49/9mzjnxjs3fvf8qk6d8fkfsmh0000gn/T/LvDJMwHoHp/entitlements_rawL2sNQDVD /var/folders/49/9mzjnxjs3fvf8qk6d8fkfsmh0000gn/T/LvDJMwHoHp/Payload/MyMobileApp.app
Program /usr/bin/codesign returned 1 : [/var/folders/49/9mzjnxjs3fvf8qk6d8fkfsmh0000gn/T/LvDJMwHoHp/Payload/MyMobileApp.app: code object is not signed at all
]error: Failed to read entitlements from '/var/folders/49/9mzjnxjs3fvf8qk6d8fkfsmh0000gn/T/LvDJMwHoHp/Payload/MyMobileApp.app'

我的构建设置相当正常,并且对于所有目标和聚合目标都是相同的。

xcode settings

我无法确定问题是什么,因为个别目标运行完全正常,还有其他人遇到过这个问题吗? 这在Xcode 6.0.1和XCode 6.0中发生,但在Xcode 5.1.1中不会发生。

1 个答案:

答案 0 :(得分:1)

我的解决方案是将Jenkins XCode插件构建设置下的“SDK”选项设置为“iphoneos”。

这修复了它,因为它不再编译模拟器构建(x86,x86_64),而XCode 6或Mavericks在构建聚合目标时遇到代码签名问题。

Jenkins Setting