У меня есть три API
с разными API Keys
и несколько разных настроек
-
Для разработки или сборки внутреннего тестирования - Распространение разработки вне iOS App Store
-
Host
- devapi.project-name.com -
API Key
-API Key
разработки -
FLEX
[ 1 ] - Включить
-
-
Для клиентского тестирования сборки - корпоративное распространение за пределами iOS App Store
-
Host
- stgapi.project-name.com -
API Key
- enterprise_key -
FLEX
- Включить
-
-
Для производственной сборки - распространение в iOS App Store
-
Host
- API.project-name.com -
API key
- app_store_key -
FLEX
- отключить
-
Я могу управлять двумя настройками с помощью DEBUG
#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
Но первая проблема - это дистрибутив Enterprise (для тестирования клиентов) и дистрибутив (сборка) сборки iOS App Store, для дистрибутива Enterprise и App Store каждый раз нужно менять код
-
Для корпоративного распространения
#if DEBUG //debug setting #else //enterprise setting #define API_BASE_URL @"http://stgapi.project-name.com/api/v1" #define API_KEY @"enterprise_key" #endif
-
Для распространения в App Store
#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
Я ищу способ что-то вроде этого
#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
Или любой другой?
Вторая проблема
Есть ли способ создать три сборки с разными именами без создания другой цели?
-
ProductName
- для магазина приложений -
ProductName-Dev
- для внутренней разработки build -
ProductName-Stg
- для сборки клиентского тестирования (Enterprise)
Я только что создал демонстрационный проект и полное визуальное руководство на основе решения от iamnichols