2010-12-03 10 views
2

Lorsque je sélectionne l'exécutable dans l'interface du projet Xcode, une fenêtre d'information apparaît contenant des informations sur l'exécutable. Lorsque je sélectionne l'onglet des arguments, j'entre certaines "variables à définir dans l'environnement". Comment aurais-je accès à ces variables?Xcode "passage des variables au lancement" question

Répondre

3

Éditer: Après avoir relu votre question, vous parlez en fait de l'environnement vars. Voir le dernier paragraphe pour savoir comment les lire. Si vous utilisez l'autre table sur ce même onglet, "Arguments à transmettre au lancement", les trois premiers paragraphes sont plus applicables.

Les variables passées de cette manière seront disponibles dans le tableau argv en main(). Si vous voulez y accéder plus tard sans modifier main(), vous avez quelques options.

Vous pouvez utiliser [[NSProcessInfo processInfo] arguments] pour obtenir un tableau de tous les arguments passés sur la ligne de commande. Cela donnera tout ce qui est passé, mot pour mot.

Vous pouvez également utiliser NSUserDefaults. Les arguments passés sur la ligne de commande par paires -name value définissent la clé NSUserDefaults name pour avoir la valeur value. Cela remplacera toutes les variables du même nom chargées à partir des préférences de l'application. Notez que ceci est deux args, pas un arg avec un espace.

L'une ou l'autre de ces approches devrait fonctionner pour vous. Une troisième option consiste à ne pas utiliser d'arguments de ligne de commande, mais à utiliser les variables d'environnement, accessibles via [[NSProcessInfo processInfo] environment], mais si cela est plus logique que les arguments dépend de votre cas d'utilisation particulier.

Questions connexes