Ich habe eine benutzerdefinierte Bash Run Script
in meinem Xcode-Projekt Build Phases
. Es schreibt die offiziellen Versionsnummern auf den Plist.Umgang mit Leerzeichen und Sonderzeichen in einem Xcode Build Phase Bash Run Skript
#proper escape for spaces
TARGET_BUILD_DIR=${TARGET_BUILD_DIR//" "/"\ "}
echo "Setting marketing version, CFBundleShortVersionString, to $VERSION in $TARGET_BUILD_DIR/$INFOPLIST_PATH..."
/usr/libexec/PlistBuddy -c "Set CFBundleShortVersionString $VERSION" $TARGET_BUILD_DIR/$INFOPLIST_PATH
echo "Setting technical version, CFBundleVersion, to $BUILD in $TARGET_BUILD_DIR/$INFOPLIST_PATH..."
/usr/libexec/PlistBuddy -c "Set CFBundleVersion $BUILD" $TARGET_BUILD_DIR/$INFOPLIST_PATH
Dies funktioniert einwandfrei, wenn der Pfad keine Leerzeichen oder Sonderzeichen enthält.
Hier ist, was passiert, wenn man versucht, diesen Code zu nennen:
Einstellung Marketing-Version, CFBundleShortVersionString, zu 1.7.0.0 in /Users/jenkins/.jenkins/jobs/ClientName/jobs/iOS/jobs/Was ist Up/Arbeitsbereich/Build/WhatsUp.app/Info.plist ... Datei existiert nicht, wird Erstellen: /Users/jenkins/.jenkins/jobs/ClientName/jobs/iOS/jobs/What Ungültig Argumente
Einstellung der technischen Version, CFBundleVersion, bis 199 in /Users/jenkins/.jenkin s/jobs/ClientName/jobs/iOS/jobs/Was ist Up/workspace/build/WhatsUp.app/Info.plist ... Datei existiert nicht, wird erstellen: /Users/jenkins/.jenkins/jobs/ Client/Jobs/iOS/Jobs/Was ungültige Argumente
Das Echo nimmt das Verzeichnis ganz gut, aber PlistBuddy
ein Fehler zurück, wenn das betreffende Verzeichnis zu verwenden versuchen.
Bisher habe ich eine Reihe von Dingen versucht, wie Leer- und Sonderzeichen mit Flucht ‚\‘:
#replace spaces attempt
TARGET_BUILD_DIR=${TARGET_BUILD_DIR//" "/"\ "}
TARGET_BUILD_DIR=${TARGET_BUILD_DIR// /\ }
#replace apostrophes attempt
TARGET_BUILD_DIR=${TARGET_BUILD_DIR//"'"/"\'"}
TARGET_BUILD_DIR=${TARGET_BUILD_DIR//'/\'}
Was muss ich tun PlistBuddy bekommen Sie ein Verzeichnis mit einem Leerzeichen oder Sonderzeichen zu akzeptieren ?
Zitat Ihre variable Erweiterungen. –