73 votes

xcodebuild : simulateur ou dispositif ?

Comment puis-je spécifier à xcodebuild (l'outil en ligne de commande) si je veux construire pour le simulateur ou le dispositif ?

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.

152voto

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.

0 votes

Je sais. -configuration y -target J'avais juste oublié que le choix entre le matériel et le simulateur était défini par le SDK. Merci !

6 votes

Vous pouvez également mentionner -sdk iphoneos pour la dernière version.

0 votes

Merci, je savais que XCode avait un paramètre SDK "dernière version", mais je n'arrivais pas à savoir ce que c'était. Je suppose que "iphonesimulator" est également la dernière version du simulateur d'iPhone.

1voto

justin Points 72871

Je trouve le -xcconfig Cette option vous permet de spécifier un chemin d'accès à un xcconfig (fichier de paramètres de compilation). Dans un xcconfig, vous pouvez #include d'autres fichiers xcconfig.

0voto

mmccomb Points 4348

Les instructions pour construire à partir du simulateur sont bien expliquées dans la première réponse au post suivant...

chemin d'installation de xcodebuild ?

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X