【发布时间】:2016-06-04 22:20:23
【问题描述】:
我有三个 APIAPI Keys 和一些不同的设置
-
用于开发或内部测试构建 - iOS App Store 之外的开发分发版
-
Host- devapi.project-name.com -
API Key- development_key -
FLEX[1] - 启用
-
-
用于客户端测试构建 - iOS App Store 之外的企业分发
-
Host- stgapi.project-name.com -
API 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
但第一个问题是企业分发(用于客户端测试)和 iOS 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- 用于内部开发构建 -
ProductName-Stg- 用于客户端测试(企业)构建
我刚刚根据iamnichols提供的解决方案创建了演示项目和完整的视觉指南
【问题讨论】:
标签: ios objective-c xcode xcode-scheme xcode-configuration