2009-05-20 10 views
88

Dans Xcode, je sais que vous pouvez utiliser des variables telles que PROJECT_DIR dans certaines situations, comme une phase de génération de script d'exécution. Je me demande s'il est possible d'obtenir le type de construction: IE 'Release' ou 'Debug'. Des idées?Variables Xcode

+5

duplication possible de [Liste canonique des variables d'environnement Xcode] (http://stackoverflow.com/questions/6910901/canonical-list-of-xcode-environment-variables) – Mark

+0

Copie possible de [Comment imprimer une liste? de "Build Settings" dans le projet Xcode?] (https://stackoverflow.com/questions/6910901/how-do-i-print-a-list-of-build-settings-in-xcode-project) –

Répondre

127

La meilleure source est probablement Apple's official documentation. La variable spécifique que vous recherchez est CONFIGURATION.

+7

J'aime la façon dont Xcode refuse d'afficher cette page si vous tapez "paramètres de construction" dans une boîte de recherche - vous obtenez le type de construction AUTRE, sans référence à ces variables. Idem si vous mettez "construire des variables". Quelqu'un devrait enseigner à Apple comment écrire un algorithme de recherche :) – Adam

+19

Si vous essayez de créer une "phase de construction de script", vous pouvez commencer ce script en tapant "env" (sans les guillemets) comme première ligne de votre bash shell script (ou la commande équivalente pour le shell que vous utilisez) et créez votre projet. Cela affichera toutes les variables d'environnement qui vous sont disponibles. Vous pouvez l'utiliser conjointement avec la documentation pour vous assurer que vous obtenez les données que vous attendiez. –

+2

Je pense que j'ai perdu une demi-heure à essayer de trouver les docs listant/expliquant les variables d'environnement disponibles pour les scripts. J'ai soumis une demande de «mise en valeur» demandant pourquoi ils ne peuvent pas simplement mettre un de ces boutons de point d'interrogation rond avec un lien vers la bonne page d'aide. Super suggestion HZC, bien que je souhaite que ce n'était pas nécessaire. – Brian

17

Here's a list of the environment variables. Je pense que vous pourriez vouloir CURRENT_VARIANT. Voir aussi BUILD_VARIANTS.

+0

Ok, donc quand j'utilise char * cv = getenv ("CURRENT_VARIANT"); Je reçois NULL. Qu'est-ce que je rate? – Brooks

+1

L'autre réponse est juste. Ce n'est pas. La CONFIGURATION est ce qu'ils veulent. – Baxissimo

+0

Et ce n'est même pas la liste complète ... la moitié de la vérité – Evils