在SWIFT之前,我会定义一套用于alpha、beta和发行版构建的方案.这些方案中的每一个都有一组宏,这些宏被定义为在项目级别控制某些行为.最简单的示例是DEBUG=1宏,它是默认为运行构建的默认方案中的所有Xcode项目定义的.用户可以查询#ifdef debug.并相应地在代码中做出决定,甚至编译出不必要的代码.
这种类型的配置选通似乎不像使用SWIFT那么容易,因为不支持宏.有人能建议一种类似的方法吗,我不在乎代码本身是不是编译出来的.不过,我想根据构建方案 Select 功能.
在SWIFT之前,我会定义一套用于alpha、beta和发行版构建的方案.这些方案中的每一个都有一组宏,这些宏被定义为在项目级别控制某些行为.最简单的示例是DEBUG=1宏,它是默认为运行构建的默认方案中的所有Xcode项目定义的.用户可以查询#ifdef debug.并相应地在代码中做出决定,甚至编译出不必要的代码.
这种类型的配置选通似乎不像使用SWIFT那么容易,因为不支持宏.有人能建议一种类似的方法吗,我不在乎代码本身是不是编译出来的.不过,我想根据构建方案 Select 功能.
在SWIFT中,您仍然可以使用"#if/#Else/#endif"预处理器宏(尽管有更多约束),如Apple docs所示.下面是一个示例:
#if DEBUG
let a = 2
#else
let a = 3
#endif
不过,现在您必须在其他地方设置"DEBUG"符号.在"SWIFT编译器-自定义标志"部分的"其他SWIFT标志"行中设置它.您可以使用-D DEBUG
条目添加调试符号.
(Build Settings -> Swift Compiler - Custom Flags)
通常,您可以在"调试"或"发布"中设置不同的值.
我用真实的代码测试了它;在操场上似乎认不出来.