コマンドラインからMonotouchアプリバンドルを完全に構築するための完全なステップのセットは何ですか?
-
29-10-2019 - |
質問
XIBファイルとXIBファイルを含む可能性のあるライブラリアセンブリのセットを含むメインアプリケーションアセンブリで構成されるMonotouch C#アプリを構築するための完全なステップのセットが何であるかを知りたいと思います。
ここで質問に焦点を当てるために、私が進めないさまざまな理由で、適切なMSBuildスクリプト(Monotouchがまだサポートしていない)を介してこれらの手順を自動化しようとしています。
これまでのところ、私が思いついたものは次のとおりです。
1)SMCを使用して各アセンブリをコンパイルします
/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)デバッグ構成ファイルの更新:モデロベロpのビルド出力ウィンドウには、コマンドラインが与えられていません。
4)デバッグ設定ファイルの更新ファイル:MonoDevelopのビルド出力ウィンドウに指定されたコマンドラインはありません。
また、アプリの署名やリソースのように、私がまだしていない他の手順。
うまくいけば、ここで十分な情報を得ることができます。
解決
ターミナルウィンドウから、またはMSBuildタスク内から実行できます。 /Applications/MonoDevelop.app/Contents/MacOS/mdtool
MonoDevelopで提供されるツール。例えば
/Applications/MonoDevelop.app/Contents/MacOS/mdtool -v build -t:Build "-c:Debug|iPhoneSimulator" /path/to/your/app.csproj
これにより、上記のすべての手順や追加される将来の機能など、Monotouchアプリケーションが構築されます。