XCode预处理器宏#if无法正常工作

Tom*_*ora 3 macros xcode ios swift

嗨,伙计们,我觉得自己像个白痴问这个问题,但我无法帮助自己,因为我真的认为我正在做一些核心问题.

所以我LINPHONE_DEBUG在我的构建设置中调用的XCODE项目中有预处理器宏我已经将宏设置为0完全像这样:LINPHONE_DEBUG=0

但不知何故,当我使用这段代码时:

#if LINPHONE_DEBUG
    foo()
#endif
Run Code Online (Sandbox Code Playgroud)

foo()仍称看到下面的截图.

在此输入图像描述

你可以看到我打印po LINPHONE_DEBUG出来0但它仍然可以达到代码......

我在跑步 XCODE 6.4 (6E35b)

提前感谢您的帮助.

zap*_*aph 6

来自Swift iBook:使用Swift与Cocoa和Objective-C(Swift 2 Prerease)

"Swift编译器不包含预处理器.相反,它利用编译时属性,构建配置和语言功能来实现相同的功能.因此,预处理器指令不会在Swift中导入."

"构建配置Swift代码和Objective-C代码以不同方式有条件地编译.可以基于构建配置的评估来有条件地编译Swift代码.构建配置包括文字真值和假值,命令行标志以及下表中列出的平台测试功能.您可以使用-D <#flag#>指定命令行标志."

有关构建配置的更多信息,请参阅文档.