由于NSLog语句会使应用程序变慢,因此建议在发布之前将其删除。可以追溯到2010年的许多older answers on SO建议在pch文件中放置一些代码,例如:

#ifndef DEBUG
   #define NSLog(...);
#endif

但是,Xcode不再自动创建pch文件。我认为可以手动创建pch文件,但这似乎有点麻烦。还是手动创建pch文件并向其中添加上面的代码仍然是在发布之前注释掉NSLog语句的推荐方法,还是有更现代的方法?

最佳答案

我发现的所有旧答案(包括添加PCH文件)都不适用于Swift。这终于对我有用:

  • 通过在构建设置中将“-D DEBUG” 添加到“Other Swift Flags” 中来定义DEBUG标志。
  • 添加以下全局代码(我只是将其放在名为Globals.swift的文件中):
  • #if !DEBUG
    public func NSLog(_ format: String, _ args: CVarArg...) {
    }
    
    public func print(_ items: Any..., separator: String = " ", terminator: String = "\n") {
    }
    #endif
    

    10-08 05:58
    查看更多