iOS: Beste Möglichkeit zum Verwalten von Entwicklungs-, Test- und Produktions-Builds mit unterschiedlichen Einstellungen und Namen

Ich habe dreiAPImit unterschiedlichenAPI Keys und einige andere Einstellungen

Für die Entwicklung oder interne Tests bauen - Entwicklungsverteilung außerhalb des iOS App Store

Host - devapi.project-name.comAPI Key - development_keyFLEX[1] - Aktiviere

Zum Testen des Clients build - Unternehmensverteilung außerhalb des iOS App Store

Host - stgapi.project-name.comAPI Key - enterprise_keyFLEX - Aktiviere

Für den Produktionsaufbau - Verteilung im iOS App Store

Host - api.project-name.comAPI key - app_store_keyFLEX - @ deaktivier

Ich kann zwei Einstellungen mit @ verwalteDEBUG

#if DEBUG
    #define API_BASE_URL @"http://devapi.project-name.com/api/v1"
    #define API_KEY @"development_key"
#else
    #define API_BASE_URL @"http://stgapi.project-name.com/api/v1"
    #define API_KEY @"enterprise_key"
#endif

// In AppDelegate.m 
#if DEBUG
    [[FLEXManager sharedManager] showExplorer];
#endif

Aber das erste Problem ist, dass die Enterprise-Distribution (für Client-Tests) und die iOS-App-Store-Distribution (für Produktionszwecke) für die Enterprise- und App-Store-Distribution jedes Mal erstellt werden, wenn der Code geändert werden muss

Für Unternehmensverteilung

#if DEBUG
    //debug setting
#else
    //enterprise setting
    #define API_BASE_URL @"http://stgapi.project-name.com/api/v1"
    #define API_KEY @"enterprise_key"
#endif

Für App Store-Verteilung

#if DEBUG
    //debug setting
#else
    //app store setting
    #define API_BASE_URL @"http://api.project-name.com/api/v1"
    #define API_KEY @"app_store_key"
#endif

Ich suche so etwas wie das

#ifdef DEVELOPMENT
    #define API_BASE_URL @"http://devapi.project-name.com/api/v1"
    #define API_KEY @"development_key"
#elif ENTERPRISE
    #define API_BASE_URL @"http://stgapi.project-name.com/api/v1"
    #define API_KEY @"enterprise_key"
#elif APP_STORE
    #define API_BASE_URL @"http://api.project-name.com/api/v1"
    #define API_KEY @"app_store_key"
#endif

oder irgend ein anderer

Zweites Problem

Gibt es eine Möglichkeit, drei Builds mit unterschiedlichen Namen zu erstellen, ohne ein anderes Ziel zu erstellen?

ProductName - Für den App StoreProductName-Dev - Für die interne Entwicklung buildProductName-Stg - Für Client Testing (Enterprise) build

Ich habe gerade ein Demo-Projekt erstellt und eine vollständige visuelle Anleitung basierend auf der Lösung von iamnichols

Beste Möglichkeit zum Verwalten von Entwicklung, Test und Produktion iOS-Builds mit unterschiedlichen Einstellungenhttps: //github.com/vineetchoudhary/BuildManagemen

Antworten auf die Frage(4)

Ihre Antwort auf die Frage