2009-11-04 3 views
4

J'ai une étape "Exécuter le script" qui crée dynamiquement les ressources/fichiers que je copie dans les répertoires de construction. Chaque exécution de ce script produit un contenu différent, donc je veux qu'il fonctionne à chaque génération. Le script s'exécute correctement sur une construction propre mais une fois qu'une construction est faite, l'étape n'est plus exécutée car aucune source n'a été modifiée.Comment faire en sorte que Xcode "Exécuter le script" soit toujours exécuté

J'ai essayé de régler l'entrée de l'étape sur/dev/random mais cela ne semble pas déclencher un environnement modifié et ne ré-exécute pas l'étape.

Y a-t-il un moyen que je peux mettre en place pour que cette étape soit exécutée chaque fois que la compilation est pressée, et non uniquement lorsque la source est modifiée ou nettoyée?

+0

J'ai une phase de construction de script d'exécution dans mon projet et il s'exécute chaque fois que j'appuie sur le bouton Build, que les fichiers aient été modifiés ou non. Je sais que c'est sûr car il copie le produit à un endroit spécifique et le tampon de date modifié de la copie change chaque fois que j'appuie sur Build. Peut-être que si vous laissez cette chose d'entrée que vous mentionnez? –

Répondre

5

Vous devez placer la phase de génération du script d'exécution dans une cible d'agrégation distincte et rendre votre cible principale dépendante de la cible d'agrégation. L'agrégat doit être construit à chaque fois.

+0

Ne fonctionne pas bien si vous avez besoin de variables d'environnement telles que $ DERIVED_FILES_DIR – Brent

+0

Même lorsque je l'ai placé dans une cible d'agrégat séparée, il n'exécute pas le script à chaque fois que la génération se produit. – Gomfucius

Questions connexes