148 votes

Comment puis-je limiter une phase de construction "Run script" à ma configuration de version ?

J'ai un shell script que je voudrais exécuter à la fin de la phase de construction de ma cible. Cependant, j'aimerais que ce script ne s'exécute que lorsque je construis avec la commande libérer configuration. Comment cela peut-il être fait ? Merci !

317voto

Jason Coco Points 52303
if [ "${CONFIGURATION}" = "Release" ]; then
  echo Do something really release-like
fi

Le script sera exécuté à la fin de chaque configuration, mais il ne fera rien dans ce cas à moins que la configuration ne soit Release (en supposant que tout ce qu'il fait est contenu dans le bloc de test).

1 votes

Je viens de découvrir qu'il ne fonctionne pas avec les noms de configuration à plusieurs mots. Il fonctionne avec "Release" mais pas avec "Internal Beta".

5 votes

@Hedin - c'est juste bash ; si vous avez une variable de plusieurs mots, vous devez entourer la variable entre guillemets. Ainsi, ${CONFIGURATION} devient "${CONFIGURATION}". Je vais mettre à jour la réponse pour inclure cela.

0 votes

J'ai donc essayé avec un script qui télécharge sur crittercism le fichier dysm. Quelque chose ne fonctionne pas et xcode reste bloqué sur la phase lorsque j'ajoute le wrapper du "if". Des idées ? if [ "${CONFIGURATION}" = "Hockey Distribution" ] ; then APP_ID="xxxxxxxx" API_KEY="xxxxxxxxx" source ${SRCROOT}/GlideiPhone/Vendor/CrittercismSDK/dsym_upload.sh fi

17voto

Menno Points 388

La façon la plus simple de le faire est de cocher la case "Exécuter le script uniquement lors de l'installation".

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