在 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 中确实