如何使用mdtool构建MonoTouch项目

时间:2013-02-28 18:53:37

标签: xamarin xamarin.ios

我正在尝试在Jenkins构建上设置MonoTouch(Xamarin.iOS 2.0)项目。我有一个用于构建的用户,我已经将所有必需的证书和密钥添加到他们的钥匙串中。

当我尝试在终端中使用mdtool(如herehere所述)时。具体来说,我运行的命令是"/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构建此项目,则该过程成功而没有问题。但是为了自动化构建过程,我必须创建一个可以通过shell运行的命令。

1 个答案:

答案 0 :(得分:4)

这是因为产品许可证文件安装在您的用户帐户(工作地点)上,但无法在您的构建服务器帐户下找到(它不起作用)。

您需要从以下位置复制许可文件:

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

为:

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

请注意,某些版本的Xamarin.iOS(例如Starter和Indie)的许可证不允许您这样做(因此可能无效)。