Ich schreibe also automatisierte Tests, die von der Kommandozeile aus laufen, um die Benutzeroberfläche meiner iOS-Anwendung zu testen. Ich habe das Bash-Skript arbeiten, die bereinigt und baut das Projekt und führt meine UI automatisierte Tests.
Das Problem ist, dass ich möchte, dass das Befehlszeilenskript in der Lage ist, ein C-Flag in meinem Xcode-Projekt zu ändern, das festlegt, auf welchen Server ich für meine Anwendung verwiesen werde. Zum Beispiel:
./run-test -target "Debug-Server"
ändert dabei den Wert des C-Flags SERVER_ADDRESS in DEBUG_SERVER:
./run-test -target "QA-Server"
ändert den Wert des C-Flags SERVER_ADDRESS auf QA_SERVER
Um dies zu tun, habe ich vor, eine .xcconfig-Datei zu erstellen, die in xcodebuild eingespeist wird und die C-Flags in meinem Code so setzt, dass sie auf den richtigen Server verweisen. Etwas wie dies:
xcodebuild -target <TARGET_NAME> -configuration Debug-QA.xcconfig -sdk "$DEVICE_SLUG""$CURRENT_SDK" DSTROOT=. clean build
Ich bin mit den .xcconfig-Dateien überhaupt nicht vertraut und habe daher einige Fragen dazu.
- Muss ich jede Build-Einstellung in meiner .xcconfig-Datei zu beschreiben? Oder gibt es eine Art von "Standard" Wert, der Xcode verwendet?
- Gibt es eine bessere Möglichkeit, dies zu tun?