什么是一套完整的措施,全力打造从命令行一个MonoTouch的应用程序包? [英] What are the complete set of steps to fully build a Monotouch app bundle from the command line?
问题描述
我想知道什么是一套完整的步骤是建立由含有厦门国际银行文件和一组库组件也可能包含厦门国际银行文件的主要应用程序组件的MonoTouch的C#应用程序。
I'd like to know what the complete set of steps is to build a MonoTouch C# app consisting of the main application assembly containing xib files and a set of library assemblies that also possibly contain xib files.
我们正在努力通过自动化适当的MSBuild脚本这些步骤(其中MonoTouch的尚未支持),对此我不会进入,把注意力放在这里的问题有多种原因。
We're trying to automate these steps via a proper MSBuild script (which MonoTouch has yet to support) for various reasons which I won't go into, to focus on the question here.
到目前为止,这里是什么我已经出来了:
So far, here's what I've come up with:
1),使用的SMC编辑各个组件,如
1) Compile each assembly using smcs, e.g.
/Developer/MonoTouch/usr/bin/smcs /noconfig
"/out:/Users/bright/src/MonoTouchAppWithLib/AppLib/bin/Debug/AppLib.dll
"/r:/Developer/MonoTouch/usr/lib/mono/2.1/System.dll"
"/r:/Developer/MonoTouch/usr/lib/mono/2.1/System.Xml.dll"
"/r:/Developer/MonoTouch/usr/lib/mono/2.1/System.Core.dll"
"/r:/Developer/MonoTouch/usr/lib/mono/2.1/monotouch.dll"
/nologo /warn:4 /debug:+ /debug:full /optimize- /codepage:utf8
"/define:DEBUG"
/t:library "/Users/bright/src/MonoTouchAppWithLib/AppLib/Class1.cs"
2)编译接口定义:每个XIB文件中的每个组件运行ibtool,如:
2) Compile interface definitions: run ibtool on each xib file in each assembly, e.g
/Developer/usr/bin/ibtool
--errors --warnings --notices --output-format human-readable-text
"/Users/bright/src/App/App/ViewController_iPhone.xib"
--compile "/Users/bright/src/App/App/bin/Debug/App.app/ViewController_iPhone.nib"
--sdk "/Developer/Platforms/iPhoneSimulator.platform/Developer/
SDKs/iPhoneSimulator4.3.sdk"
3)编译为本地代码:
3) Compile to native code:
/Developer/MonoTouch/usr/bin/mtouch
-sdkroot "/Applications/Xcode.app/Contents/Developer"
-v --nomanifest --nosign -sim
"/Users/bright/src/App/App/bin/iPhoneSimulator/Debug/App.app"
-r "/Users/bright/src/App/AppLib/bin/Debug/AppLib.dll"
-r "/Developer/MonoTouch/usr/lib/mono/2.1/System.dll"
-r "/Developer/MonoTouch/usr/lib/mono/2.1/System.Xml.dll"
-r "/Developer/MonoTouch/usr/lib/mono/2.1/System.Core.dll"
-r "/Developer/MonoTouch/usr/lib/mono/2.1/monotouch.dll"
-debug -profiling -nolink -sdk "5.0"
"/Users/bright/src/App/App/bin/iPhoneSimulator/Debug/App.exe"
不过,目前尚不清楚该怎么做如下设置(MonoDevelop的的生成输出窗口取),以及以什么顺序:
However, it isn't clear how to do the following (taken from MonoDevelop's build output window), and in what order:
1)提取嵌入的内容。从MtLib.dll $
1) Extract embedded content. MonoDevelop just outputs this:
Extracted HelloWorldScreen_iPhone.nib from MtLib.dll
Extracted HelloWorldScreen_iPad.nib from MtLib.dll
2)更新的应用程序清单:有一个在MonoDevelop中生成输出窗口给出任何命令行
2) Update application manifest: There's no command line given in the MonoDevelop build output window.
3)更新调试配置文件:有一个在MonoDevelop中生成输出窗口给出任何命令行
3) Update debug configuration file: There's no command line given in the MonoDevelop build output window.
4)更新调试设置文件:。有一个在MonoDevelop中生成输出窗口给出任何命令行
4) Update debug settings file: There's no command line given in the MonoDevelop build output window.
和我没有得到这样做没有像应用程序签名和资源等步骤
And other steps I haven't gotten do yet like app signing and resources.
希望我们能在这里得到足够的信息来作出它一展身手。
Hopefully we can get enough information here to make a go of it.
推荐答案
您可以在一个MSBuild任务中运行,从终端窗口或,是与MonoDevelop中提供的 /Applications/MonoDevelop.app/Contents/MacOS/mdtool
工具。例如:
You can run, from a terminal window or from within an MSBuild task, the /Applications/MonoDevelop.app/Contents/MacOS/mdtool
tool that is supplied with MonoDevelop. E.g.
/Applications/MonoDevelop.app/Contents/MacOS/mdtool -v build -t:Build "-c:Debug|iPhoneSimulator" /path/to/your/app.csproj
这将构建应用程序的MonoTouch包括所有您的上述步骤和将要添加的任何将来的功能
That will build the MonoTouch application, including all your steps above and any future feature that will be added.
这篇关于什么是一套完整的措施,全力打造从命令行一个MonoTouch的应用程序包?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!