Compile el progtwig IOS desde la command-line de Linux

Quiero comstackr mi app iOS desde el terminal de Linux (línea de command) … ¿Es posible hacerlo, si es así, entonces cómo?

Si es posible.

Al less necesitas:

  1. Ensamblador y vinculador: cctools y ld64 de apple opensource.
  2. Comstackdor: Clang / LLVM
  3. SDK, incluye encabezados y bibliotecas.
  4. Utilidades: como la herramienta de encoding ldid.

Paso 1: el comstackdor

Clang / llvm> = 3.2 es altamente recomendado y probado.

Si desea crear clang / llvm desde cero, consulte este enlace para crear una versión svn para su distribución de Linux.

Si su distribución ya proporciona packages de clang / llvm, asegúrese de que sea 3.2 versión o superior. La versión más baja puede funcionar pero no se testing.

para Ubuntu 13.04 y posterior, clang / llvm ya provisto en repositorys, ejecute:

$sudo apt-get install gcc g++ clang libclang-dev uuid-dev libssl-dev libpng12-dev libicu-dev bison flex libsqlite3-dev 

para instalar algunos packages dev, otros packages dev relacionados con llvm / llvm-dev deben instalarse automáticamente.

Paso 2: el ensamblador y linker

Los últimos cctools-855 y ld64-236.3 habían sido portados desde Apple opensource a Linux. el process de portabilidad es un poco complicado, también con una gran cantidad de códigos modificados para linux, saltémoslo.

por favor revisa los códigos de:

 svn checkout http://ios-toolchain-based-on-clang-for-linux.googlecode.com/svn/trunk/cctools-porting 

Constrúyelo:

 $ sed -i 's/proz -k=20 --no-curses/wget/g' cctools-ld64.sh $ ./cctools-ld64.sh $ cd cctools-855-ld64-236.3 $ $ ./configure --target=arm-apple-darwin11 --prefix=/usr $ make $ make install 

Para Ubuntu 13.04, ya que el package de clang / llvm 3.2 utiliza una ruta personalizada de bibliotecas / encabezados. configure primero CFLAGS y CXXFLAGS antes de ejecutar configure.

 $export CFLAGS="-I/usr/include/llvm-c-3.2" $export CXXFLAGS="-I/usr/include/llvm-c-3.2" 

Paso 3: el SDK de iPhoneOS.

El viejo iPhone SDK con soporte ARC extraído de xcode se había proporcionado en las secciones de descarga. Puede downloadlo directamente y extraerlo a / usr / share

Para iOS 4.2: https://ios-toolchain-based-on-clang-for-linux.googlecode.com/files/iPhoneOS4.2.sdk.tar.xz

Para iOS 5.0: https://ios-toolchain-based-on-clang-for-linux.googlecode.com/files/iPhoneOS5.0.sdk.tar.xz

Para iOS 6.0: https://ios-toolchain-based-on-clang-for-linux.googlecode.com/files/iPhoneOS6.0.sdk.tar.xz

Para otras versiones de iOS, es posible que necesite seguir estos pasos para get el SDK para usted.

Paso 4: los services públicos

iphonesdk-utils es una colección de utilidades para el desarrollo de iOS, proporciona a continuación las utilidades:

NOTA: (Algunos de ellos se obtienen de internet con algunas modificaciones).

ldid: herramienta de encoding, con soporte de armv7 / armv7s y otros cambios de la versión original. ld64 lo involucrará después de completar el enlace. ios-clang-wrapper: encuentra automáticamente SDK y construye arguments de compilation adecuados. ios-switchsdk: cambia sdk cuando existe una versión múltiple de SDK. ios-pngcrush: png aplastar / deshacer herramienta, como Apple Pngcrush. ios-createProject: templates de proyecto ios-genLocalization: herramienta de localización de aplicaciones iOS basada en Clang lexer. ios-plutil: plist comstackdor / descomstackdor. ios-xcbuild: convierte el proyecto xcode en makefile, construye el proyecto xcode directamente en linux. Descargue el tarball fuente de: https://ios-toolchain-based-on-clang-for-linux.googlecode.com/files/iphonesdk-utils-2.0.tar.gz

Constrúyalo e instálelo:

 $./configure --prefix=/usr $make $make install 

Comstackr aplicación

Ahora puedes build e instalar tu proyecto simplemente haciendo:

 $cd ProjectDir $make $make install IPHONE_IP=<your own device IP 

Información completa que puede encontrar aquí: https://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en

La solución anterior dada por Barjomet es correcta en caso de que no sea mavericks, pero si es Maverics, la siguiente es la solución:

1) Instale la herramienta de línea de command apropiada 2) para build: a) xcodebuild -list -project .xcodeproj b) – xcodebuild -scheme build

Para más detalles, puede consultar el siguiente enlace:

https://developer.apple.com/library/ios/technotes/tn2339/_index.html .