我目前正在尝试为我的monotouch项目实现一键式构建解决方案(无需启动monodevelop IDE),我可以在其中指定配置文件和代码签名证书。我搜索了像nant,ant和maven这样的流行构建工具,但似乎没有人支持monotouch。有没有人尝试类似的东西?
答案 0 :(得分:12)
我已经使用了Jenkins (aka Hudson)。
您基本上设置了Jenkins服务器,并将Mac设置为“从属”构建服务器。 (我使用了JNLP奴隶)。
从那里你可以在构建中运行你想要的任何命令行,所以你只需要运行带有一些参数的mdtool,如下所示:
/Applications/MonoDevelop.app/Contents/MacOS/mdtool -v build "--configuration:Release|iPhone" "Path/To/YourSolution.sln"
要担心的一件事是,要签署iOS应用程序,从属进程必须在您的用户下运行。所以你不能真正为它创建一个Mac守护进程,你必须在启动时为你的用户运行从属进程并最小化它,这有点烦人。
答案 1 :(得分:1)
你试过团队城市吗?你可能值得一看这个帖子Buildserver for MonoTouch upon OS X?
答案 2 :(得分:1)
谢谢你的回答。但是在这种情况下我不需要使用这种重型火炮。由于我正在开发一个单一的小应用程序,我最终在我的解决方案中创建了3个不同的Build配置,因为我发现可以为每个配置不同的代码签名身份和配置配置文件(开发,Ad-Hoc, AppleStore),在monodevelop项目选项菜单中。
然后在AppleStore / Ad-Hoc配置中,我添加了post build命令,因此我可以自动创建.ipa文件(基本上创建一个“Payload”文件夹并将.app文件复制到其中,然后将其压缩到.ipa文件,以及图标和itunesartwork文件)。
最后,我创建了一个bash脚本,可以使用任何配置调用mdtool,因此我可以通过执行脚本来构建和生成.ipa可执行文件。