2012-10-22 13 views
5

Obecnie pracuję nad aplikacją w Xcode, w której dodałem fazę kompilacji, która uruchamia skrypt powłoki.Jak zatrzymać kompilację Xcode ze skryptu powłoki

Skrypt wyszukuje zasoby z pulpitu i kopiuje je do aplikacji. Jeśli pliki/foldery nie istnieją, skrypt powinien anulować kompilację aplikacji.

Próbowałem różnych rzeczy, aby zatrzymać budowę, takich jak xcodebuild clean, ale nie mogę całkiem dowiedzieć się. Oto, co mam:

if [ -d ~/Desktop/MyFolder ]; then 
    cp -r ~/Desktop/MyFolder ${CONFIGURATION_BUILD_DIR}/${UNLOCALIZED_RESOURCES_FOLDER_PATH}/MyFolder 
else 
    #Stop the build 
fi 

Czy istnieje sposób, aby skrypt nakazał Xcode zatrzymać kompilację? Jeśli tak, jak mogę to zrobić?

Odpowiedz

5

Trzeba zwracać niezerowy kod wyjścia ze skryptu:

exit 1 
+0

Wielki, dzięki !! –

2

Inną użyteczną techniką jest skrypt produkować wyjście z „Błąd:” prefiksu. Spowoduje to, że Xcode wyświetli błąd w dziennikach kompilacji, a jeśli ustawienia Xcode przestaną być budowane po awarii - zatrzyma się właśnie tam.

Oprócz tego można również wygenerować ostrzeżenie, drukując przedrostek "warning:".

Przykład:

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

Zaletą tego rozwiązania w stosunku do "wyjścia 1" jest faktyczny błąd w okienku błędów czasu kompilacji –

Powiązane problemy