【问题标题】:Settings bundle for iPhone appiPhone 应用程序的设置包
【发布时间】:2012-01-05 14:14:31
【问题描述】:

是的,我正在开发一个应用程序,它有两个设置 Dev 和 Live。有没有办法根据应用程序是实时还是仍在开发中来区分应该使用哪些设置,或者我是否必须在它上线之前更改整个设置文件。

我不知道怎么写,所以如果你不确定地方就问吧。

【问题讨论】:

  • @Downvoter 如果您认为适合投反对票,请留下评论为什么,如果您是对我所有问题进行多次投反对票的用户,请留下理由。

标签: objective-c ios settings.bundle


【解决方案1】:

您要做的是根据您的构建配置定义一个预处理器宏。因此,如果您有一个名为 dev 和一个名为 live 的构建配置,您将为 dev 和 live 定义不同的值。

要实现这一点,请进入 Xcode 中的应用构建设置并搜索“预处理器宏”。为每个构建目标添加一个宏。

对于开发人员,您可以添加:

APP_CONFIG=0

你可以在现场添加:

APP_CONFIG=1

然后在您的代码中,您可以通过一个简单的 if 语句来区分开发和实时构建配置:

#if APP_CONFIG == 0
    NSLog(@"This is the dev build.");
#else
    NSLog(@"This is the live build.");
#endif

【讨论】:

  • +1 这个。这是向代码添加调试控制的最佳方式。您还应该使用它来重载 NSLog,以从生产级代码中删除浪费的日志记录和其他此类内容。
  • 好的,所以现在它可以区分 Dev 和 Live,但是我应该把它放在哪里来实际选择正确的设置包。我会把它放在 AppDelegate.m 中吗?如果是的话放在哪里?
  • @Popeye:你有解决这个问题的办法吗?我遇到了类似的情况,我需要根据 DEV 或 PROD 构建选择正确的设置包。我可以区分构建,但不知道在哪里传递正确的设置包。
  • @Abhinav 很遗憾没有,抱歉。我决定最好的实际做法是将其从 settings.bundle 更改为应用程序设置,这允许我为 DEV、QA 和 PROD 设置我想要的任何内容。抱歉,我无法提供更多帮助。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-01-14
  • 2011-05-10
  • 2013-05-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多