2010-11-30 22 views
39

J'utilise la tâche ant exec pour exécuter xcodebuild afin de construire des projets iOS hudson. Je voudrais pouvoir créer un script de cette façon qui permet de ne pas spécifier la version sdk, car après la mise à jour de sdk sur hudson slave ou mes projets iOS tous mes projets échouent ....Paramètre pour xcodebuild pour l'utilisation de la dernière version de sdk.

Il y a une belle option 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 (je pense), il a pris du projet Xcode et il est mauvais car alors quelqu'un peut changer la cible de simulateur à l'appareil accidentellement pendant la validation

J'ai besoin de quelque chose de constant. Je préférerai ne pas utiliser la variable d'environnement car j'aimerais pouvoir exécuter cette tâche de fourmis aussi sur les machines de développement et je n'aimerais pas devoir me souvenir de la configuration sur toutes les machines.

Malheureusement xcodebuild -showsdks donne seulement:

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 

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

+0

Juste curieux, ce que vous utilisez Ant pour, en collaboration avec Hudson et projets iOS? Je viens de finir de configurer Hudson pour iOS et je n'avais pas besoin d'autres outils, me demandant si je manquais quelque chose. –

Répondre

7

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

4

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. En outre, xcodebuild -showsdk doit être xcodebuild -showsdks.

57

Vous pouvez utiliser xcodebuild avec le dernier SDK en utilisant:

  • xcodebuild -sdk iphoneos, pour Appareil
  • xcodebuild -sdk iphonesimulator, Simulator.

Nous utilisons ces options pour notre automatisé construit et il a travaillé depuis XCode 3.2.5

0

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