2015-01-22 14 views

risposta

7

Sì, è possibile.

Almeno è necessario:

  1. assemblatore e linker: cctools e ld64 da opensource mela.
  2. Compilatore: Clang/LLVM
  3. SDK, include intestazioni e librerie.
  4. Utilità: come strumento ldid codesign.

Fase 1: Il compilatore

Clang/LLVM> = 3.2 è altamente raccomandato e testato.

Se si desidera creare clang/llvm da zero, fare riferimento a questo collegamento per creare una versione di svn per la propria distribuzione Linux.

Se la distribuzione fornisce già pacchetti clang/llvm, assicurarsi che sia 3.2 release o superiore. La versione inferiore potrebbe funzionare ma non è stata testata.

per Ubuntu 13.04 e successivamente, clang/LLVM già fornito in pronti contro termine, eseguire:

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

per installare alcuni pacchetti dev, altri pacchetti dev relativi a LLVM/LLVM-dev dovrebbe essere installato automaticamente.

Fase 2: L'assemblatore e linker

L'ultima cctools-855 e ld64-236.3 erano stati portati da Apple opensource di Linux. il processo di porting è un po 'complicato, anche con molti codici modificati per Linux, saltiamolo.

si prega di consultare i codici da:

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

costruirlo:

$ 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 

Per Ubuntu 13.04, dal momento che il/LLVM pacchetto clang 3.2 utilizzare un/percorso intestazioni librerie personalizzate. per favore imposta CFLAGS e CXXFLAGS prima di eseguire configure.

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

Passaggio 3: L'SDK di iPhoneOS.

Il vecchio iPhone SDK con supporto ARC estratto da xcode era stato fornito in Download Sections. È possibile scaricare direttamente e estrarlo in/usr/share

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

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

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

Per altre versioni iOS, potrebbe essere necessario seguire these steps per ottenere l'SDK per conto proprio.

Fase 4: I programmi di utilità

iphonesdk-utils è una raccolta di utilità per lo sviluppo iOS, fornisce di seguito utilities:

NOTA: (. Alcuni di loro sono raccolti da internet con alcune modifiche)

ldid: strumento codesign, con supporto armv7/armv7s e altre modifiche dalla versione orig. verrà eseguito da ld64 dopo il collegamento completo. ios-clang-wrapper: trova automaticamente l'SDK e costruisce gli argomenti di compilazione corretti. ios-switchsdk: cambia sdk quando esiste più versioni di SDK. ios-pngcrush: png crush/de-crush tool, come il pngcrush di Apple. ios-createProject: modelli di progetto ios-genLocalization: strumento di localizzazione app iOS basato su clang lexer. ios-plutil: compilatore plistatore/decompilatore. ios-xcbuild: converte il progetto xcode in makefile, create il progetto xcode direttamente sotto linux. Scarica l'archivio dei sorgenti da: https://ios-toolchain-based-on-clang-for-linux.googlecode.com/files/iphonesdk-utils-2.0.tar.gz

Costruire e installarlo:

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

Costruire App

Ora è possibile costruire e installare il vostro progetto semplicemente facendo:

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

Informazioni complete che puoi trovare qui - https://code.google.com/p/ios-toolchain-based-on-clang-for-linux/wiki/HowTo_en

+0

Ciao, è necessario avere il numero DUNS per questo? – saurabh

+0

$./Cctools-ld64.sh - Sembra non funzionare, in quanto questo collegamento all'interno di questo script non ha nulla (il collegamento - "http://www.opensource.apple.com/tarballs/cctools/cctools- 839.tar.gz/") – saurabh

+0

No, questo non è un problema, c'è un archivio da questo URL (http://www.opensource.apple.com/tarballs/cctools/cctools-839.tar.gz). Prova 'sed -i 's/proz -k = 20 --no-curses/wget/g' cctools-ld64.sh' prima di fare'./Cctools-ld64.sh'. Questo funziona per me. Inoltre, modificherò una risposta. Nel caso in cui questo non funzionasse, che linux usi? – barjomet

-3

La soluzione sopra proposta dal Barjomet è corretto in caso se non è mavericks, ma se è Maverics poi seguito è la soluzione:

1) Installare la riga di comando appropriato strumento 2) per la costruzione: a) xcodebuild -list -project .xcodeproj b) - xcodebuild -scheme costruire

Per riferimento dettagli si può fare riferimento al seguente link:

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

+1

mavericks non è linux. – Wyatt8740

Problemi correlati