在xcode中为不同的构建配置维护不同的URL

时间:2012-08-10 14:17:46

标签: iphone ios xcode xcodebuild

我为我的xcode项目创建了四种不同的构建配置,它们是QA,STAGING< UAT<&安培;生产。我为我创建的一个构建使用了4个不同的URL。

现在我的问题是xcode 4非常擅长检测DEBUG模式,因为已经有预定义的宏可用,但是如何检测我的自定义构建以便我可以为不同的构建配置传递不同的URL?

2 个答案:

答案 0 :(得分:2)

在每个构建配置中进入构建设置并添加#define THIS_IS_QA = 1然后在代码中对其进行测试并使用它,就像使用DEBUG宏一样

答案 1 :(得分:0)

预处理器宏路由工作正常,可以快速实现。但它不能很好地扩展,因为你最终会得到每个变量的副本。我发现最好的路线是做以下事情。

  1. 在项目或目标构建设置中将配置定义为用户定义的设置。
    • 这样做允许为每个构建配置指定不同的值(例如,Debug或Release,甚至是自定义的)
  2. 在项目plist文件中创建信息属性。
    • 这允许通过plist访问构建设置。
  3. 编写一次代码以从plist文件加载值。
  4. 示例:

    在项目中创建一个名为“BASE_API_URL”的用户定义设置,并将调试配置设置为“http://www.test.example.com”,将发布配置设置为“http://www.example.com”。

    然后在plist中创建一个新的信息属性,其键为“BaseAPIUrl”,值为“$(BASE_API_URL)”

    最后,在您定义基本网址的应用委托中添加以下代码:

    let baseUrl: NSString = NSBundle.mainBundle().infoDictionary?["BaseAPIUrl"]! as NSString