Ich habe ein Xcode-Projekt mit einer großen Anzahl von Zielen, in das ich ein Einstellungspaket für Apps aufnehmen möchte, die unter den Ad-hoc- und Debug-Konfigurationen erstellt wurden, jedoch nicht unter der Release-Konfiguration.
Build-Phasen scheinen es nicht zu ermöglichen, sich von der Konfiguration abhängig zu machen (sie können natürlich vom Ziel abhängig gemacht werden, aber eine Verdoppelung der Anzahl der Ziele im Projekt würde es völlig unbrauchbar machen).
Damit bleibt das Schreiben einer benutzerdefinierten Erstellungsregel. Mein Plan ist es, das Settings.bundle von allen Zielen auszuschließen und eine Build-Regel zu erstellen, die es bedingt in das Produktpaket kopiert, aber anwendbare Beispiele sind wirklich schwer zu finden.
Für die von mir gestartete Erstellungsregel ist die Prozesseinstellung auf "Quelldateien mit übereinstimmenden Namen:" und "Settings.bundle" als Name festgelegt. Die Einstellung "Verwenden" lautet "Benutzerdefiniertes Skript:".
Mein benutzerdefiniertes Skript lautet wie folgt (mit der Einschränkung, dass sich mein Bash-Skript auf einem Frachtkult-Level befindet):
if [${CONFIGURATION} = 'Debug'] then
cp -r ${INPUT_FILE_PATH} ${DERIVED_FILES_DIR}/.
fi
Endlich habe ich ${DERIVED_FILES_DIR}/Settings.bundle
als Ausgabedatei aufgeführt.
Da ich hier bin, sollte es offensichtlich sein, dass es nicht funktioniert. Meine erste Frage ist, ob es irgendwo eine Möglichkeit gibt, die Ausgabe der Build-Regeln als Ausführung anzuzeigen, um sicherzustellen, dass 1) sie tatsächlich ausgeführt wird und 2) ich irgendwo keinen dummen Syntaxfehler habe.
Wo ist der richtige Speicherort (in Form einer Umgebungsvariablen), an den die Ausgabe kopiert werden soll?