3

JenkinsビルドでMonoTouch(Xamarin.iOS 2.0)プロジェクトをセットアップしようとしています。ビルド用に設定したユーザーがいて、必要なすべての証明書とキーをキーチェーンに追加しました。

ターミナルで(ここここで説明されているように)mdtoolを使おうとすると。具体的には、実行するコマンドはです"/Applications/Xamarin Studio.app/Contents/MacOS/mdtool" -v build <path to .sln>。これを行うと、この出力が得られます

MonoDevelop Build tool
ERROR [2013-02-28 10:31:36Z]: Android SDK not found, needed by Xamarin.Android add in 
Loading solution: <path to .sln>
   Loading solution: <path to .sln>
      Loading projects ..
Building Solution: <Project name> (Ad-Hoc|iPhone)
   Building: <project name> (Ad-Hoc|iPhone)

この時点で、ビルドは停止します。Jenkinsユーザーではなく、自分のユーザーで同じコマンドを実行すると、これは期待どおりに機能します。実際にjenkinsユーザーにすべての証明書とキーがあり、すべてのプロビジョニングプロファイルにXCodeからアクセスできることを確認しました。私はこれで終わりになりました、そして本当にいくつかの助けをいただければ幸いです。

さらに混乱させるために、jenkinsユーザーの下でXamarin Studioを使用してこのプロジェクトをビルドしようとすると、プロセスは問題なく成功します。ただし、ビルドプロセスを自動化するには、シェルを介して実行できるコマンドを作成する必要があります。

4

1 に答える 1

4

これは、製品のライセンス ファイルがユーザー アカウント (機能する場所) にインストールされていますが、ビルド サーバー アカウント (機能しない場所) では見つからないためです。

次の場所からライセンス ファイルをコピーする必要があります。

/Users/***you username**/Library/MonoTouch/License.v2

に:

/Users/***your build server account**/Library/MonoTouch/License.v2

Xamarin.iOS の一部のエディション (Starter や Indie など) のライセンスでは、これを実行できないことに注意してください (動作しない可能性があります)。

于 2013-02-28T20:26:20.593 に答える