Avatar ·

Swift中替代#ifdef:条件编译与构建配置

大家好!我刚从C++转到Swift,遇到了一个问题。在C++中,我经常使用预处理器指令`#ifdef`、`#ifndef`、`#endif`来进行条件编译——例如,只在Debug构建中包含调试代码,或支持不同平台。\n\n在Swift中,我没有找到`#ifdef`的直接对应。我尝试写类似这样的代码:\n\n```swift\n#ifdef DEBUG\nprint("调试信息")\n#endif\n```\n\n但Xcode报错了。我查阅了文档——里面有`#if`,但它的工作方式和我习惯的不同。例如,我想要:\n\n1. 只在Debug模式下添加额外的日志记录。\n2. 排除iOS的整个代码块,但保留给macOS。\n3. 在发布构建中隐藏测试桩(stubs)。\n\n如何在Swift中正确组织条件编译?有没有办法定义自己的标志,比如`#define MY_FLAG`?希望能有带解释的示例。\n<<>>\n

Swift中的条件编译:#if和编译标志

\n

Swift中没有