如何识别Swift是否使用Optimization进行编译

时间:2014-09-18 15:10:15

标签: xcode swift

正如你们中的一些人在完全调试模式下运行时可能会意识到的那样,swift非常慢。有没有办法可以在代码或GUI中打印出一条消息,让我知道我是否忘了正确地编译它。我正在以混合模式运行,所以如果有人能给我Objc和Swift代码那将是非常棒的。

谢谢!

2 个答案:

答案 0 :(得分:11)

我认为您无法在运行时检测到这一点,但您可以使用默认情况下在Debug配置中定义的DEBUG预处理器宏(在Objective-C中):

#ifdef DEBUG
NSLog(@"I'm in debug mode!");
#endif

这假设您在发布配置中没有优化就进行编译: - )

如果你想在Swift中检查一下,你需要通过将-D DEBUG添加到"其他Swift Flags"来定义Build Configuration仅适用于Build设置中的Debug配置。然后,如果#if

,您可以检查该配置
#if DEBUG
println("I'm in debug mode!")
#endif

答案 1 :(得分:0)

您可以使用Xcode的方案将标志添加为参数或添加到环境变量中 - 然后您可以使用NSProcessInfo - -arguments-environment来检查它。

在Xcode中,转到产品>方案>在菜单栏中编辑Scheme,选择Run,在Arguments选项卡下,添加参数或环境变量。