有人可以讨论如何从应用程序的发布版本中免除 NSLog 吗?此外,是否在发布版本中留下评论是否重要?谢谢!
问问题
1469 次
4 回答
6
使用类似于DLog
wrap的宏NSLog
,并在发布版本中将其关闭。
#ifdef DEBUG
# define DLog(...) NSLog(__VA_ARGS__)
#else
# define DLog(...) /* */
#endif
评论绝对不重要。它们只存在于您的源代码中,而不是编译后的输出。您无需将源代码提交给 Apple,只需将应用程序的构建副本提交给 Apple。
于 2012-04-09T02:15:47.703 回答
2
我排除 NSLogs 的方法是将其添加到前缀文件中:
#define NSLog(...)
这样,编译时,所有的 NSLog 都将被替换为空,就像一个空行。
至于评论,它们根本不会进入二进制文件,这些只适用于任何可以看到源代码的人。
于 2012-04-09T03:07:41.500 回答
1
DEBUG
较新版本的 Xcode 项目通常在构建调试版本时包含宏定义,因此最简单的方法是:
#ifdef DEBUG
NSLog(@"Safe and sound ...");
#endif
但这并不重要,根据我的经验,有时您不希望控制台吐出一堆日志,您可能只在某些情况下需要它们。
于 2012-04-09T02:14:30.017 回答
0
这不是已经 NSLog 的行为吗?我以为这就是重点……
于 2012-04-09T16:15:34.153 回答