2012-10-22 5 views
5

Ich arbeite derzeit an einer App in Xcode, wo ich eine Build-Phase hinzugefügt, die ein Shell-Skript ausgeführt wird.So stoppen Sie Xcode Build von Shell-Skript

Das Skript sucht vom Desktop nach Ressourcen und kopiert sie in die App. Wenn die Dateien/Ordner nicht vorhanden sind, sollte das Skript den Build der App abbrechen.

Ich habe verschiedene Dinge versucht, um den Build wie xcodebuild clean zu stoppen, aber ich kann es nicht ganz herausfinden. Hier ist was ich habe:

Gibt es eine Möglichkeit, das Skript Xcode sagen, um den Build zu stoppen? Wenn ja, wie kann ich es tun?

Antwort

5

Sie benötigen einen Nicht-Null-Exit-Code aus dem Skript zurückzukehren:

exit 1 
+0

Groß, Dank !! –

2

Eine weitere nützliche Technik ist für das Skript eine Ausgabe mit einem erzeugen „Fehler:“ erfolgen. Dies wird dazu führen, dass Xcode den Fehler in den Build-Protokollen anzeigt, und wenn die Xcode-Einstellungen nach einem Fehler nicht mehr aufgebaut werden, wird es genau dort anhalten.

Zusätzlich können Sie eine Warnung auslösen, indem Sie das Präfix "warning:" ausdrucken.

Beispiel:

if [ -d ~/Desktop/MyFolder ]; then 
    cp -r ~/Desktop/MyFolder ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MyFolder 
else 
    echo "error: Copy failed!" 
fi 
+0

Der Vorteil gegenüber dem 'Exit 1' ist, dass es den tatsächlichen Fehler im Bereich Build time errors anzeigt –