我使用带有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 6.0.1和XCode 6.0中发生,但在Xcode 5.1.1中不会发生。
答案 0 :(得分:1)
我的解决方案是将Jenkins XCode插件构建设置下的“SDK”选项设置为“iphoneos”。
这修复了它,因为它不再编译模拟器构建(x86,x86_64),而XCode 6或Mavericks在构建聚合目标时遇到代码签名问题。