Une construction Xcode à partir de la ligne de commande ressemble à ceci :
xcodebuild -configuration ${BUILD_TYPE} -target ${TARGET_NAME} -arch ${CPU_ARCHITECTURE} -sdk ${SIMULATOR_OR_IOS_SDK}
BUILD_TYPE
est quelque chose comme "Release" ou "Debug" (ce sont les valeurs par défaut, vous pouvez en avoir ajouté d'autres au projet).
TARGET_NAME
est le nom de la cible que vous construisez (par défaut, le même nom que votre projet).
CPU_ARCHITECTURE
est l'unité centrale pour laquelle vous construisez, l'une d'entre elles :
i386 , armv6 , armv7
Utilisez i386 pour les constructions de simulateurs, et utilisez soit armv6 ou armv7 pour les constructions de périphériques - notez que certains autres périphériques ne peuvent pas exécuter le code armv7, donc généralement lors de la construction de bibliothèques, c'est une bonne idée de construire toutes ces architectures et puis de les coller ensemble en utilisant lipo
.
SIMULATOR_OR_IOS_SDK
est ce que vous recherchez, c'est soit iphoneos
o iphonesimulator
. Ces valeurs utilisent la dernière version du SDK que le Xcode installé supporte, vous pouvez obtenir une liste des SDK supportés avec :
xcodebuild -showsdks
Ce qui renvoie une liste comme :
Mac OS X SDKs:
Current Mac OS -sdk
Mac OS X 10.6 -sdk macosx10.6
iOS SDKs:
iOS 4.2 -sdk iphoneos4.2
iOS Simulator SDKs:
Simulator - iOS 3.2 -sdk iphonesimulator3.2
Simulator - iOS 4.0 -sdk iphonesimulator4.0
Simulator - iOS 4.1 -sdk iphonesimulator4.1
Simulator - iOS 4.2 -sdk iphonesimulator4.2
xcodebuild
a plus de drapeaux que cela, mais ce sont ceux que vous utiliserez généralement après avoir utilisé Xcode pour configurer les propriétés de construction. Vous n'êtes pas obligé de tous les utiliser, mais c'est probablement une bonne idée d'être clair sur ce que vous construisez - sinon je crois que vos derniers paramètres sont utilisés.
12 votes
En fait, l'exécutable est totalement différent, lorsque vous construisez pour la simulation, vous compilez pour x86 et sur le dispositif pour ARM.