¿Cuáles son el conjunto completo de pasos para construir completamente un paquete de aplicaciones de Monotouch desde la línea de comandos?

StackOverflow https://stackoverflow.com/questions/9395607

Pregunta

Me gustaría saber cuál es el conjunto completo de pasos para construir una aplicación Monotouch C# que consiste en el ensamblaje de la aplicación principal que contiene archivos XIB y un conjunto de ensambles de biblioteca que también posiblemente contienen archivos XIB.

Estamos tratando de automatizar estos pasos a través de un script MSBuild adecuado (que Monotouch aún no ha admitido) por varias razones en las que no entraré, para concentrarme en la pregunta aquí.

Hasta ahora, esto es lo que se me ocurrió:

1) Compile cada ensamblaje con SMCS, por ejemplo

/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) Compilar definiciones de la interfaz: ejecute IBTOOL en cada archivo XIB en cada ensamblaje, por ejemplo,

/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) Compilar al código nativo:

/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"

Sin embargo, no está claro cómo hacer lo siguiente (tomado de la ventana de salida de compilación de Monodeopel), y en qué orden:

1) Extraer contenido incrustado. Monodeelovelop solo sale esto:

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

2) Actualizar el manifiesto de la aplicación: no hay una línea de comando dada en la ventana de salida de compilación de MonodeVelop.

3) Actualizar el archivo de configuración de depuración: no hay una línea de comando dada en la ventana de salida de compilación de MonodeVelop.

4) Actualizar el archivo de configuración de depuración: no hay una línea de comando dada en la ventana de salida de compilación de MonodeVelop.

Y otros pasos que aún no he hecho me gusta la firma de aplicaciones y los recursos.

Esperemos que podamos obtener suficiente información aquí para intentarlo.

¿Fue útil?

Solución

Puede ejecutar, desde una ventana de terminal o desde una tarea de msbuild, la /Applications/MonoDevelop.app/Contents/MacOS/mdtool Herramienta que se suministra con Monodeelovelop. P.ej

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

Eso construirá la aplicación Monotouch, incluidos todos sus pasos anteriores y cualquier característica futura que se agregará.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top