根据编译设置更改值

时间:2010-02-18 23:00:20

标签: iphone objective-c xcode

有没有办法根据编译设置创建if语句?我有一个访问基于Web的API的应用程序,当在调试模式下编译时,我希望它使用私有测试版,但是当我编译发布时,我希望它使用API​​的公共实时版本。

目前我只有NSString持有网址。

2 个答案:

答案 0 :(得分:2)

通常,对于这类事情,您将使用预处理程序指令:

#ifdef DEBUG_MODE
    // connect to beta version
#else
    // connect to live version
#endif

您可以定义自己的DEBUG_MODE符号,也可以使用现有的符号(我不确定它可能会为iPhone SDK调用它)。

答案 1 :(得分:2)

要扩展Greg的答案,您可以传递编译器标志-DDEBUG_MODE(或-D [此处为任何名称])来定义DEBUG_MODE并导致#ifdef的第一个分支被编译。