我有三个API
不同的API Keys
和一些不同的设置
用于开发或内部测试构建- iOS App Store 之外的开发分发
Host
-devapi.project-name.comAPI Key
- development_keyFLEX
[ 1 ] - 启用
用于客户端测试构建- iOS App Store 之外的企业分发
Host
- stgapi.project-name.comAPI Key
- 企业密钥FLEX
- 使能够
用于生产构建- 在 iOS App Store 中分发
Host
- API.project-name.comAPI key
- app_store_keyFLEX
- 禁用
我可以通过使用来管理两个设置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 分发(生产)构建,对于企业和 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
- 用于客户端测试(企业)构建