我的iPhone CI作业(在TeamCity中运行)遇到了奇怪的行为。每隔一段时间我们的构建都会在构建日志中没有任何指示性错误而失败。构建到达代码签名验证的最后阶段,我立即收到** BUILD FAILED **
消息。
这些是好的和坏的构建日志的最后几行 -
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会发出相关错误。
是否还有其他日志可以深入查找构建失败的原因?
编辑: 似乎我遇到了像build failed jenkins iOS no error一样的问题。
答案 0 :(得分:4)
与build failed jenkins iOS no error
有同样的问题tl; dr - CopyPNG由于两个同名图像而失败。
答案 1 :(得分:4)
我也有类似的问题,在我的情况下,这是因为我同时使用Xcode 7.2和Xcode 6.4。当Xcode 6.4的模拟器打开(iOS模拟器8.4)并且我尝试使用Xcode 7.2从命令行开始测试时,我得到65错误。
EG。当iOS模拟器8.4打开时:
# 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
解决方法是在开始测试之前杀死模拟器:
# killall "iOS Simulator"
# killall "Simulator"
该过程称为XCode 6.4及更早版本的“iOS模拟器”,后来称为“模拟器”,适用于以后的XCode版本。
答案 2 :(得分:2)
你需要删除平台ios - $ cordova platform rm ios,然后添加平台 - $ cordova platform add ios。现在建立ios - $ cordova build ios
答案 3 :(得分:1)
我在更新到Xcode 8时遇到此问题,在我的情况下,这是因为我错误地设置了PROVISIONING_PROFILE_SPECIFIER设置