Bei Verwendung von Xcode, kill $PPID
ist keine Lösung, wie ich Farcaller gegenüber bemerkte.
Meine Lösung besteht darin, dass das Pre-Action-Skript eine Header-Datei erzeugt (z. B. SchemePreActions.h ) und machen Sie es für die normale Situation leer, und fügen Sie es in Ihren Code ein (z. B. in AppDelegate.m ).
Wenn Sie möchten, dass das Pre-Actions-Skript einen Fehler meldet, können Sie auf diese Weise eine #error
Zeile, wie in diesem Beispiel aus der Praxis:
if [ $CONFIGURATION == Debug ]; then
echo "#error AppStore builds must not be in debug configuration" >> SchemePreActions.h
fi
Xcode meldet diesen Fehler sehr schön.
Es wird empfohlen, die erzeugte Datei von git ignorieren zu lassen.
Als Tipp Ich möchte hinzufügen, dass mein Pre-Actions-Skript immer mit diesen Zeilen beginnt:
echo "//auto-generated. no need to commit" > SchemePreActions.h
echo "#define SCHEME_${SCHEME_NAME}" >> SchemePreActions.h
echo "#define SCHEME_NAME @\"${SCHEME_NAME}\"" >> SchemePreActions.h
if [[ ${SCHEME_NAME} =~ "_PROD" ]]; then
echo "#define PRODUCTION" >> SchemePreActions.h
fi
Auf diese Weise, durch die Einbeziehung SchemePreActions.h kann mein Code testen, ob er unter einem bestimmten Schema läuft.