Iphoneプロジェクトをhudsonで実行するように設定していますが、ビルドスクリプトはローカルで正常に機能しますが、snow leopard servermacで次のコマンドを実行すると
xcodebuild -sdk iphoneos4.3 -workspace Moments.xcworkspace/ -scheme Moments -configuration DistributionTest
次のエラーメッセージが表示されます。
コマンドラインから設定をビルドします:SDKROOT = iphoneos4.3
2011-05-11 10:32:17.729 xcodebuild [4151:903]警告:/ "runContextManager.runContexts"の待機中にタイムアウトしました(10.010780秒経過)xcodebuild:エラー:ワークスペース 'Moments.xcworkspace /'にスキームが含まれていません「モーメント」という名前。
タイムアウトは何ですか?!そして、それが間違いなくそこにあるのに、なぜそれはモーメントという名前のスキームを見つけることができないのですか?ビルドサーバーのxcodeでワークスペースを開くと、スキームが表示されます。
[スキームの管理]ダイアログの[共有]ボックスをオンにすると、スキームがProject.xcodeproj/xcshareddata/xcschemes /Scheme.xcschemeに移動します。
したがって、xcode uiを介して開かれたことがないクリーンなチェックアウトがある場合でも、これは機能します。これを使用して、buildbotがアプリをビルドできるようにします
残念ながら、xcodebuildは、XCodeによって生成されたユーザーごとのファイルに依存しています。これを修正するには、hudsonユーザーとしてログインし、XCodeUIを1回実行します。これで必要なファイルが作成されます。
私は現在これを回避しようとしていますが、ビルドする前に必要なファイルをソースツリーにコピーします。
Xcodebuildを実行し、XCodeがバックグラウンドで実行されている場合、xcodebuildはXCodeに接続して必要なデータを取得します。 XCodeが実行されていないため、タイムアウトが発生します。