#if DEBUG
let iAmInDebugMode = true
#else
let iAmInDebugMode = false
#endif
项目设置:
的方案设置:
结果:
println(iAmInDebugMode) // false
为什么?我究竟做错了什么 ?
#if DEBUG
let iAmInDebugMode = true
#else
let iAmInDebugMode = false
#endif
项目设置:
的方案设置:
结果:
println(iAmInDebugMode) // false
为什么?我究竟做错了什么 ?
在SWIFT它不会像这样的工作,你需要设置其他内迅速标志-D DEBUG
标志,那么它会工作。你能得到关于构建配置标志的更多细节here
运行时间
NSDictionary* env = [[NSProcessInfo processInfo] environment];
if ([[env valueForKey:@"debugger"] isEqual:@"true"]) {
NSLog(@"debugger yes");
}
else {
NSLog(@"debugger no");
}
编译时间
#ifdef DEBUG
// Something to log your sensitive data here
#else
//
#endif
我编辑了这个问题,使其更清晰。 – Cherif
编译时间部分正在工作 –
您可以通过保持你的配置在斯威夫特结构避免预处理指令:
这可行,但使用它却有一个缺点,因为每次方案更改时都必须构建项目。对我这样的健忘的人不好。有一个预处理器类可以随时设置您在需要更改方案时所需的任何参数。另外,你不必添加脚本或像这样的人做的额外的类。这是一个好主意,但我认为这不会让问题变得更容易。 –
我加了答案,你需要设置标志在Other_swift_flags –