来自Swift iBook的内容:使用Swift与Cocoa和Objective-C(Swift 2预发布版)
“Swift编译器不包括预处理器。相反,它利用编译时属性、构建配置和语言特性来实现相同的功能。因此,在Swift中不导入预处理指令。”
“构建配置 Swift代码和Objective-C代码以不同的方式有条件地进行编译。可以根据构建配置的评估有条件地编译Swift代码。构建配置包括字面上的true和false值、命令行标志以及下表中列出的平台测试函数。您可以使用-D <#flag#>指定命令行标志。”
请参阅文档以了解有关构建配置的更多信息。
更新:这个解决方案适用于Objective-C。
你应该尝试像这样:
#if LINPHONE_DEBUG > 0
foo()
#endif
你可以通过将环境配置放入结构体中来避免使用预处理器指令。