2015-08-15 78 views
0

代码:如何确定我的iOS应用程序在DEBUG模式下运行?

#if DEBUG 
    let iAmInDebugMode = true 
#else 
    let iAmInDebugMode = false 
#endif 

项目设置:

enter image description here

的方案设置:

enter image description here

结果:

println(iAmInDebugMode) // false 

为什么?我究竟做错了什么 ?

+0

我加了答案,你需要设置标志在Other_swift_flags –

回答

2

在SWIFT它不会像这样的工作,你需要设置其他内迅速标志-D DEBUG标志,那么它会工作。你能得到关于构建配置标志的更多细节here

enter image description here

0

运行时间

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 
+0

我编辑了这个问题,使其更清晰。 – Cherif

+0

编译时间部分正在工作 –

0

您可以通过保持你的配置在斯威夫特结构避免预处理指令:

http://www.technoburgh.com/ios/swift-build-configuration/

+0

这可行,但使用它却有一个缺点,因为每次方案更改时都必须构建项目。对我这样的健忘的人不好。有一个预处理器类可以随时设置您在需要更改方案时所需的任何参数。另外,你不必添加脚本或像这样的人做的额外的类。这是一个好主意,但我认为这不会让问题变得更容易。 –

相关问题