2014-10-08 10 views
6

Sto utilizzando il comando xcodebuild per generare framework dinamico. Per renderlo compatibile con il simulatore di iPhone 5s ho bisogno di costruirlo con l'architettura x86_64. ma non sta costruendo la struttura.Xcodebuild non genera framework dinamico con architettura x86_64

Sto usando il comando di sotto per quello.

xcodebuild -project $PROJECT_PATH -configuration 'Release' -sdk 'iphonesimulator7.0' clean build ARCHS='x86_64' VALID_ARCHS='x86_64' IPHONEOS_DEPLOYMENT_TARGET='7.0' TARGET_BUILD_DIR="$BUILD_DIR/build-x86_64" BUILT_PRODUCTS_DIR="BUILD_DIR/build-x86_64" 

Si prega di aiuto ...

+0

Impossibile generare in XCode? – wshcdr

+0

Il progetto quadro è elencato come dipendenza nelle fasi di creazione? Xcode risolverà le dipendenze in modo implicito ma la riga di comando non lo farà. – borrrden

+0

Viene generato mentre sto usando xcode ma non sto generando tramite il comando xcodebuild. –

risposta

0

Grazie per le vostre risposte ..

Ho appena scoperto che iphonesimulator7.0 SDK non è stato installato sulla mia macchina così è stato fallito, mentre la costruzione.

L'ho cambiato in iphonesimulator e ora funziona.

0

E 'possibile vi manca il parametro -target "MyTarget". Per impostazione predefinita, se non si passa questo parametro, xcodebuild crea il primo target elencato nel progetto. Il tuo obiettivo desiderato è il primo obiettivo del progetto?

Un'altra opzione che è possibile provare è l'utilizzo di un metodo collaudato per la creazione di framework universali per iOS. Ho usato il metodo descritto qui con molte strutture con risultati perfetti: https://github.com/jverkoey/iOS-Framework. Non sono lo sviluppatore di questo metodo.

Senza postare alcun messaggio di errore o anche come si sa che sta fallendo, è difficile dare maggiori dettagli. Non sta riuscendo a costruire (in modo da ottenere un messaggio di errore)? Sta fallendo perché non vedi l'architettura x86_64 nel framework finale?

0

provare qualcosa di simile nella lista degli argomenti xcodebuild manual link

-destination "platform=iOS Simulator,OS=8.0,name=iPhone 6" 

Questo è ciò che viene visualizzato per un progetto (che sto facendo questa ipotesi, sulla base di contesto di cui sopra)

xcodebuild [-project projectname] -scheme schemename [-destination destinationspecifier] 
      [-destination-timeout value] [-configuration configurationname] 
      [-sdk [sdkfullpath | sdkname]] [buildaction ...] [setting=value ...] 
      [-userdefault=value ...] 

In uno dei loro esempi è anche possibile elencare più destinazioni.

Sono personalmente in un progetto che utilizza uno spazio di lavoro, quindi devo elencare uno schema.

Nota a margine, ho notato che stai impostando TARGET_BUILD_DIR e BUILD_PRODUCTS. Ho impostato OBJROOT e SYMROOT e le directory sono uscite come se avessi usato la GUI Xcode.

Ultimo accesso al sito è un vero e proprio esempio di utilizzo della bandiera destinazione

BUILDDIR="<path/to/build/directory>" 
xcodebuild -workspace "<path/to/workspace/>my.xcworkspace" -scheme "NameOfMySchemeToBuild" -destination "platform=iOS Simulator,OS=8.0,name=iPhone 6" -configuration "Release" OBJROOT=$BUILDDIR SYMROOT=$BUILDDIR 

Spero che questo aiuti!

Problemi correlati