Xcode-Variablen

103

Ich weiß, dass Sie in Xcode Variablen erhalten können, PROJECT_DIRdie in bestimmten Situationen verwendet werden können, z. B. in einer Phase zum Erstellen eines Skripts. Ich frage mich, ob es möglich ist, den Build-Typ (dh Release oder Debug ) zu erhalten. Irgendwelche Ideen?

Allyn
quelle

Antworten:

147

Die beste Quelle ist wahrscheinlich die offizielle Dokumentation von Apple . Die spezifische Variable, nach der Sie suchen, ist KONFIGURATION.

smorgan
quelle
8
Ich mag die Art und Weise, wie Xcode sich weigert, diese Seite anzuzeigen, wenn Sie "Build-Einstellungen" in ein Suchfeld eingeben - Sie erhalten die ANDERE Build-Einstellung ohne Verweis auf diese Variablen. Das Gleiche gilt, wenn Sie "Build-Variablen" eingeben. Jemand sollte Apple beibringen, wie man einen Suchalgorithmus schreibt :)
Adam
23
Wenn Sie versuchen, eine "Skript-Erstellungsphase ausführen" zu erstellen, können Sie dieses Skript starten, indem Sie "env" (ohne Anführungszeichen) als erste Zeile Ihres Bash-Shell-Skripts (oder den entsprechenden Befehl für die von Ihnen verwendete Shell) eingeben. wieder verwenden) und erstellen Sie Ihr Projekt. Dadurch werden alle Umgebungsvariablen ausgegeben, die Ihnen zur Verfügung stehen. Sie können dies in Verbindung mit der Dokumentation verwenden, um sicherzustellen, dass Sie die erwarteten Daten erhalten.
Ryan H.
3
Ich glaube, ich habe eine halbe Stunde damit verbracht, die Dokumente zu finden, in denen Umgebungsvariablen aufgelistet / erklärt werden, die für Skripte verfügbar sind. Ich habe eine "Erweiterungs" -Anfrage eingereicht und gefragt, warum sie nicht einfach eine dieser runden Fragezeichen-Schaltflächen mit einem Link zur richtigen Hilfeseite einfügen können. Toller Vorschlag HZC, obwohl ich wünschte, es wäre nicht notwendig.
Brian
3
Es ist auch traurig, dass das grundlegende $ PROJECT_DIR nirgendwo in diesem offiziellen Dokument erwähnt wird. Ich denke, es ist nur ein (besser benannter) Alias ​​für $ SRCROOT.
Ricardo Sanchez-Saez
4
Apple möchte seine gesamte Dokumentation regelmäßig neu anordnen und alle vorhandenen Links unterbrechen. Jemand muss den neuen Link suchen.
Smorgan
20

Hier ist eine Liste der Umgebungsvariablen . Ich denke, Sie möchten vielleicht CURRENT_VARIANT. Siehe auch BUILD_VARIANTS.

Naaff
quelle
Ok, wenn ich char * cv = getenv ("CURRENT_VARIANT") verwende; Ich bekomme NULL. Was vermisse ich?
Brooks
1
Die andere Antwort ist richtig. Das ist nicht. KONFIGURATION ist das, was sie wollen.
Baxissimo
Und das ist noch nicht einmal die vollständige Liste ... die halbe Wahrheit
Evils