web-dev-qa-db-fra.com

paramètre pour xcodebuild pour utiliser le dernier kit de développement.

J'utilise ant exec pour exécuter xcodebuild afin de construire des projets iOS hudson. J'aimerais pouvoir créer un script de cette manière, ce qui permet de ne pas spécifier la version de sdk, car après la mise à jour de sdk sur hudson slave ou de mes projets iOS, tous mes projets échouent ....

Il y a une option Nice dans xcode depuis sdk 4.2 dans la configuration cible Base SDK - Latest iOS

et je n'ai pas à fournir -sdk param dans la commande xcodebuild, mais ensuite (je pense), il est pris du projet xcode et c'est mauvais, car alors quelqu'un peut changer la cible du simulateur à l'appareil accidentellement pendant la validation.

J'ai besoin de quelque chose qui est constant. Je préférerai ne pas utiliser la variable env car je voudrais pouvoir exécuter cette tâche ant également sur des machines dev et ne pas avoir à me souvenir de la définir sur toutes les machines.

Malheureusement, xcodebuild -showsdks ne donne que:

Mac OS X SDKs:
    Mac OS X 10.4                   -sdk macosx10.4
    Mac OS X 10.5                   -sdk macosx10.5
    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

J'ai besoin de quelque chose comme -sdk iphoneosLatest. Ma seule idée est d'assembler la sortie de xcodebuild -showsdks avec un script, mais je n'aime pas cette idée.

43
Maciek Sawicki

Vous pouvez utiliser xcodebuild avec le dernier SDK en utilisant: 

  • xcodebuild -sdk iphoneos, pour périphérique
  • xcodebuild -sdk iphonesimulator, pour le simulateur.

Nous utilisons ces options pour nos versions automatisées et cela fonctionne depuis XCode 3.2.5.

60
Doppelganger9

Je crois que vous pouvez utiliser xcodebuild -sdk iphoneos (pas de numéro de version) pour accomplir cela.

8
James J

J'ai essayé la solution de @jenningj et cela a fonctionné pour moi. Maciek Sawicki, si cela fonctionne pour vous, vous devriez le marquer comme la bonne solution.

De plus, xcodebuild -showsdk devrait être xcodebuild -showsdks.

5
ThomasW

Vous pouvez essayer: xcodebuild -showsdks | grep -Eo "iphoneos([0-9]{1,}\.)+[0-9]{1,}"

0
Ben Marten