【发布时间】:2014-12-25 01:49:05
【问题描述】:
我为我的 xcode 项目创建了四种不同的构建配置,它们是 QA、STAGING
现在我的问题是 xcode 4 非常擅长检测 DEBUG 模式,因为已经有预定义的宏可用,但是如何检测我的自定义构建,以便我可以为不同的构建配置传递不同的 url?
【问题讨论】:
标签: iphone ios xcode xcodebuild
我为我的 xcode 项目创建了四种不同的构建配置,它们是 QA、STAGING
现在我的问题是 xcode 4 非常擅长检测 DEBUG 模式,因为已经有预定义的宏可用,但是如何检测我的自定义构建,以便我可以为不同的构建配置传递不同的 url?
【问题讨论】:
标签: iphone ios xcode xcodebuild
在每个构建配置中,进入构建设置并添加 #define THIS_IS_QA=1 然后在您的代码中对其进行测试并像使用 DEBUG 宏一样使用它
【讨论】:
预处理器宏路由工作正常,并且可以快速实现。但它不能很好地扩展,因为您最终会得到每个变量的副本。我认为效果最好的路线是执行以下操作。
例子:
在项目中创建一个名为“BASE_API_URL”的用户定义设置,并将调试配置设置为“http://www.test.example.com”,将发布配置设置为“http://www.example.com”。
然后在 plist 中创建一个新的信息属性,其键为“BaseAPIUrl”,值为“$(BASE_API_URL)”
最后在定义基本 url 的应用程序委托中添加以下代码:
let baseUrl: NSString = NSBundle.mainBundle().infoDictionary?["BaseAPIUrl"]! as NSString
【讨论】: