我想禁用NSLog()
应用程序中的所有实例。我发现了一些这样做的代码:
#ifndef DEBUG
#define NSLog //
#endif
但是将此代码添加到每个文件中并不是一个好主意。我怎样才能让它更容易?
我想禁用NSLog()
应用程序中的所有实例。我发现了一些这样做的代码:
#ifndef DEBUG
#define NSLog //
#endif
但是将此代码添加到每个文件中并不是一个好主意。我怎样才能让它更容易?
Xcode 有一个预编译的头文件({project-name}-Prefix.pch
默认在 Supporting Files 组中),这是放置将在项目中的每个文件中使用的代码的好地方。要更进一步并改进日志消息本身,请参阅是否真的不应该在生产代码上使用 NSLog()?.
将以下行添加到常量文件中:
#define DEBUGGING NO //or YES
#define NSLog if(DEBUGGING)NSLog
以下两个句子给出相同的结果
#define NSLog
和
#define NSLog //
因为所有以 // 开头的文本都在预编译阶段被删除(包括“//”)
我所做的是将它放在预编译的头文件(YourAppName.pch)中:
#define MyLog if(0); else NSLog
然后我在应用程序的其他地方将所有 NSLog 更改为 MyLog。它就像 NSLog 一样工作。但是当你想禁用 NSLog 时,回到.pch文件并更改0
to1
和 presto,所有日志记录都会停止。
这也将处理使用时出现的警告
#define NSLog //
编码:
#ifndef DEBUG
#define NSLog(...)
#endif
当您不需要 NSLOG 到您的常量文件时,只需添加以下行
#define NSLog //
并在需要时发表评论。