与XCode机器人和cocoapods持续集成

时间:2014-03-07 12:18:42

标签: continuous-integration xcode5 cocoapods xcode-bots

我遇到机器人在建造时偶尔会失败的问题。 预构建操作用于安装pod,这种方法很有效。但是当集成失败时,由于这个错误:

Installing Pods
Analyzing dependencies
Downloading dependencies
[32mInstalling AFNetworking (1.3.3)[0m
...
2014-03-07 10:40:25.667 xcodebuild[76637:100b] [MT] IDEFileReferenceDebug: [Load] <IDEFileReference, 0x7fa3fe5b0840: group:Pods/Pods.xcodeproj> Failed to load container at path: /Library/Server/Xcode/Data/BotRuns/Cache/5bbd629b-a843-42b0-8b52-256db7560be5/source/Pods/Pods.xcodeproj, Error: Error Domain=Xcode3ProjectErrorDomain Code=2 "Project /Library/Server/Xcode/Data/BotRuns/Cache/5bbd629b-a843-42b0-8b52-256db7560be5/source/Pods/Pods.xcodeproj cannot be opened because it is missing its project.pbxproj file." UserInfo=0x7fa3fe7e54b0 {NSLocalizedDescription=Project /Library/Server/Xcode/Data/BotRuns/Cache/5bbd629b-a843-42b0-8b52-256db7560be5/source/Pods/Pods.xcodeproj cannot be opened because it is missing its project.pbxproj file.}
Generating Pods project
Integrating client project

所以我的猜测是xcodebuld在生成之前尝试读取Pods项目。

这听起来像是一个合理的猜测吗?

有人会知道如何解决它吗?

修改 预执行构建脚本看起来像这个

cd $SRCROOT

export LC_ALL="en_US.UTF-8"

if [ -d Pods ]
then
echo "Updating Pods"
pod update
else
echo "Installing Pods"
pod install

2 个答案:

答案 0 :(得分:0)

当你的SVN没有跟踪pod项目时,一般Xcode机器人的CocoaPods实际上是不可靠的。我也没有跟踪pod项目,并且与CocoaPods有类似的麻烦。如果您正在寻找临时修复,可以转到/Library/Server/Xcode/Data/BotRuns/Cache/5bbd629b-a843-42b0-8b52-256db7560be5/source/,从那里运行pod install并删除预构建脚本。虽然如果更新Podfile或Podfile.lock,则必须再次在服务器上手动运行pod install / pod update。

答案 1 :(得分:0)

我让xCode服务器与cocoapods无缝地协同工作,看一下我的文章,它可能对你有用。

http://papaanton.com/setting-up-xcode-6-and-apple-server-4-0-for-continues-integration-with-cocoapods/

每次使用Pod安装我都会进行干净的构建。

这可能是原因。