Avatar ·

在 Swift 中替换 #ifdef:如何使用条件编译和标志?

你好!我正在从 Objective-C 迁移到 Swift,遇到了一个问题。在 Obj-C 中,我经常使用预处理指令,例如: ```objectivec #ifdef DEBUG NSLog(@"调试日志"); #else NSLog(@"发布版本"); #endif ``` 或者用于检查平台: ```objectivec #if TARGET_OS_IOS // iOS 代码 #elif TARGET_OS_MAC // macOS 代码 #endif ``` 在 Swift 中,我找不到 #ifdef 的直接替代品。我尝试写类似这样的代码: ```swift #if DEBUG print("调试日志") #else print("发布版本") #endif ``` 但 Xcode 说 `DEBUG` 未定义。我在 Other Swift Flags 中添加了 `-D DEBUG`,但仍然不起作用。如何在 Swift 中正确配置条件编译?是否需要修改 Build Settings?是否可以创建自己的标志,例如用于不同的 target(精简版/专业版)?希望得到带有示例的详细解释! <<>>

Swift 中的条件编译:完整指南

在 Swift 中确实