我为我的 xcode 项目创建了四种不同的构建配置,它们是 QA、STAGING< UAT<& PRODUCTION。我为我创建的一个构建使用了 4 个不同的 url。
现在我的问题是 xcode 4 非常擅长检测 DEBUG 模式,因为已经有预定义的宏可用,但是如何检测我的自定义构建,以便我可以为不同的构建配置传递不同的 url?
我为我的 xcode 项目创建了四种不同的构建配置,它们是 QA、STAGING< UAT<& PRODUCTION。我为我创建的一个构建使用了 4 个不同的 url。
现在我的问题是 xcode 4 非常擅长检测 DEBUG 模式,因为已经有预定义的宏可用,但是如何检测我的自定义构建,以便我可以为不同的构建配置传递不同的 url?
在这些构建配置中的每一个中,进入构建设置并添加 #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