Jak skonfigurować niezależne zestawy ustawień środowiska wykonawczego w XCode

Moja aplikacja na iPhone łączy się z trzema różnymi serwerami, powiedzmy:produkcja, inscenizacja itestowanie. Istnieje wiele wartości konfiguracyjnych, których aplikacja używa w zależności od tego, z którym serwerem się łączy, np. Identyfikator aplikacji Facebook, klucz zespołu TestFlight itp.

Chciałbym mieć wszystkie ustawienia w GIT i wybrać tylko konfigurację, której aplikacja ma używać podczas kompilowania lub zwalniania. Na przykład kiedytestowanie jest zaznaczone,Produkt -> Uruchom w XCode uruchamia wersję debugowania aplikacji łączącej siętestowanie, iProdukt -> Archiwum tworzy plik IPA z wersją, z którą się łączytestowanie.

Nie chcę tworzyć więcej konfiguracji kompilacji niż debugowanie i wydawanie (ponieważ oznaczałoby to 6 różnych kombinacji konfiguracji budowania / konfiguracji czasu wykonywania). Idealnym rozwiązaniem, jak to widzę, byłoby to, że mam trzy schematy:produkcja, testowanie iinscenizacja, a każdy schemat wybiera jeden z trzech plików Info.plist do użycia z aplikacją. Pozwoliłoby mi to nie tylko zdefiniować różne ustawienia czasu wykonywania, ale także różne wersje aplikacji lub identyfikatory pakietów w zależności od serwera zaplecza. Ale wygląda na to, że nie mogę skonfigurować akcji archiwum w żaden inny sposób oprócz wyboru innej konfiguracji kompilacji. Jakieś pomysły, jeśli można to osiągnąć w jakikolwiek sposób?

Edytować: Aby było to bardziej jasne,produkcja / inscenizacja / testowanie jest serwerem zaplecza, a nie wersją aplikacji iOS. Aplikacja iOS występuje w dwóch wersjach:debug / release. Innymi słowy, mogę chcieć uruchomićodpluskwić wersja aplikacji łączącej się zprodukcja serwer na przykład do debugowania awarii spowodowanej przez JSON zwrócony z tego serwera. Mógłbym nazwać serwery jako A, B i C ze względu na przejrzystość.

questionAnswers(4)

yourAnswerToTheQuestion