有人可以查看如何从应用程序的发布版本中免除NSLog吗?此外,如果评论留在发布版本中,这是否重要?谢谢!
答案 0 :(得分:6)
Use a macro like DLog
to wrap NSLog
, and turn it off in Release builds.
#ifdef DEBUG
# define DLog(...) NSLog(__VA_ARGS__)
#else
# define DLog(...) /* */
#endif
评论绝对没关系。它们只在源代码中,而不是编译输出。您不会将您的源代码提交给Apple,只会提交您应用的内置副本。
答案 1 :(得分:2)
我要排除NSLogs的做法是将其添加到前缀文件中:
#define NSLog(...)
这样,编译时,所有NSLog都将被替换为空,它就像一个空行。
至于评论,它们根本不会进入二进制文件,只有那些只能看到源代码的人。
答案 2 :(得分:1)
在构建调试版本时,较新版本的Xcode项目通常包含宏定义DEBUG
,因此最简单的方法是:
#ifdef DEBUG
NSLog(@"Safe and sound ...");
#endif
但这并不重要,根据我的经验,有时你不希望控制台呕吐一堆日志,你可能只在某些场合需要它们。
答案 3 :(得分:0)
这不是NSRE的行为吗?我认为这就是重点......