使用xcodebuild构建超时等待<IDEWorkspace,0x2004cebc0> /"runContextManager.runContexts"

Eri*_*rik 43 iphone xcodebuild osx-snow-leopard

我正在设置我的iphone项目与hudson一起运行,我的构建脚本在本地工作正常,但在我的雪豹服务器mac上执行以下命令时

xcodebuild -sdk iphoneos4.3 -workspace Moments.xcworkspace/ -scheme Moments -configuration DistributionTest
Run Code Online (Sandbox Code Playgroud)

我收到以下错误消息.

从命令行构建设置:SDKROOT = iphoneos4.3

2011-05-11 10:32:17.729 xcodebuild [4151:903]警告:等待/"runContextManager.runContexts超时"(10.010780秒已过)xcodebuild:错误:工作区'Moments.xcworkspace /'不包含方案命名为"时刻".

什么是超时?!为什么它不能找到名为Moments的方案,当它确定在那里时.如果我在构建服务器上的xcode中打开工作区,我可以看到该方案.

小智 97

在"管理方案"对话框检查"​​共享"框中的方案移动到Project.xcodeproj/xcshareddata/xcschemes/Scheme.xcscheme

所以,即使你有一个从未通过xcode ui打开的干净结账,这也行.我们使用这个,以便buildbot可以构建我们的应用程序

  • 传说!谢谢. (6认同)
  • 一旦更改了要共享的方案,请确保将以下目录添加到SVN/git:{Project} .xcodeproj/xcshareddata/* (2认同)

Cor*_*ald 10

不幸的是,xcodebuild依赖于XCode生成的每个用户文件.要解决此问题,您可以以hudson用户身份登录并运行XCode UI一次.这将创建必要的文件.

我目前正在尝试解决此问题,但在构建之前将所需文件复制到源树中.

如果您运行xcodebuild并且XCode在后台运行,xcodebuild将联系XCode以获取所需的数据.由于XCode未运行,因此您将获得超时.