问题描述
我的iPhone CI作业(在TeamCity中运行)遇到了奇怪的行为。每隔一段时间我们的构建都会在构建日志中没有任何指示性错误而失败。构建到达代码签名验证的最后阶段,我立即得到 ** BUILD FAILED **
消息。
I'm experiencing weird behaviour with my iPhone CI job (running in TeamCity). Every once in a while our build fails without any indicative error in the build log. The build reaches the last stage of codesign validation and I get ** BUILD FAILED **
message immediately after.
这些是好的和坏的构建日志的最后几行 -
These are the last lines of the log of a good and bad builds -
Bad Build
[15:00:56] : [CodeSign] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/Validation /Library/TeamCity/buildAgent/work/dc055fa257f562be/DerivedData/MyProject/Build/Products/AdHoc-iphoneos/MyProject.app
[15:00:58]W: [Step 3/6] ** BUILD FAILED **
Good Build
[14:09:13] : [CodeSign] /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin/Validation /Library/TeamCity/buildAgent/work/dc055fa257f562be/DerivedData/MyProject/Build/Products/AdHoc-iphoneos/MyProject.app
[14:09:13] : [Step 3/6] ** BUILD SUCCEEDED **
因为它在CI中运行,所以我查找了用户交互问题(打开钥匙链等等)但通常xcodebuild会发出相关错误。
Because it's running in a CI I looked for user interaction problems (opening the keychain...etc') but usually xcodebuild spews the relevant errors.
我是否可以深入研究其他日志以找出构建失败的原因?
Is there any other log I can dig into to find the cause of the build failures?
编辑:
似乎我有同样的问题,如。
推荐答案
我也有类似的问题,在我的情况下,它是由我同时使用Xcode 7.2和Xcode 6.4的事实引起的。当Xcode 6.4的模拟器打开(iOS模拟器8.4)并且我尝试使用Xcode 7.2从命令行开始测试时,我得到65错误。
I also had a similar problem, in my case it was caused by the fact I'm using both Xcode 7.2 and Xcode 6.4 side by side. When the simulator of Xcode 6.4 is open (iOS Simulator 8.4) and I try to start a test from the commandline using Xcode 7.2 I get this 65 error.
例如。当iOS模拟器8.4打开时:
Eg. when iOS Simulator 8.4 is open:
# sudo xcode-select -s "/Applications/Xcode 7.2.app/Contents/Developer"
# xcodebuild test CODE_SIGN_IDENTITY="" CODE_SIGNING_REQUIRED=NO ONLY_ACTIVE_ARCH=NO -workspace "/path/to/MyWorkspace.xcworkspace" -scheme "MyProject" -destination "platform=iOS Simulator,name=iPhone 6,OS=9.2"
(cut)
** TEST FAILED **
# echo $?
65
解决方案是在开始测试前杀死模拟器:
Solution is to kill the simulator before starting the test:
# killall "iOS Simulator"
# killall "Simulator"
该过程称为XCode 6.4及更早版本的iOS模拟器,后来称为模拟器,用于以后的XCode版本。
The process is called "iOS Simulator" for XCode 6.4 and earlier and called "Simulator" for later XCode versions.
这篇关于xcode构建失败,错误代码为65,没有指示性消息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!