3

xibファイルを含むメインアプリケーションアセンブリと、xibファイルを含む可能性のあるライブラリアセンブリのセットで構成されるMonoTouch C#アプリを構築するための完全な手順を知りたいです。

ここでの質問に焦点を当てるために、ここでは取り上げないさまざまな理由から、適切なMSBuildスクリプト(MonoTouchはまだサポートしていません)を介してこれらの手順を自動化しようとしています。

これまでのところ、これが私が思いついたものです:

1)smcsを使用して各アセンブリをコンパイルします。

/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を実行します。

/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)ネイティブコードにコンパイルします。

/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のビルド出力ウィンドウから取得)とその順序は明確ではありません。

1)埋め込まれたコンテンツを抽出します。MonoDevelopはこれを出力します:

Extracted HelloWorldScreen_iPhone.nib from MtLib.dll
Extracted HelloWorldScreen_iPad.nib from MtLib.dll

2)アプリケーションマニフェストの更新:MonoDevelopビルド出力ウィンドウにコマンドラインが表示されません。

3)デバッグ構成ファイルの更新:MonoDevelopビルド出力ウィンドウにコマンドラインが表示されません。

4)デバッグ設定ファイルの更新:MonoDevelopビルド出力ウィンドウにコマンドラインが表示されません。

そして、私がまだ得ていない他のステップは、アプリの署名やリソースのようです。

うまくいけば、ここでそれを実行するのに十分な情報を得ることができます。

4

1 に答える 1

3

ターミナルウィンドウまたはMSBuildタスク内から、/Applications/MonoDevelop.app/Contents/MacOS/mdtoolMonoDevelopに付属のツールを実行できます。例えば

/Applications/MonoDevelop.app/Contents/MacOS/mdtool -v build -t:Build "-c:Debug|iPhoneSimulator" /path/to/your/app.csproj

これにより、上記のすべての手順と今後追加される機能を含む、MonoTouchアプリケーションが構築されます。

于 2012-02-22T13:28:30.863 に答える