有人可以过去如何免除NSLog从应用程序的发布版本?另外,发布版本中留下的评论是否重要?谢谢!不包括NSLog的发布版本的iPhone应用程序
回答
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,只提交您的应用程序的内置副本。
我看到的唯一问题是你不能将它追溯地应用到已经有很多NSLog的应用程序。 – EmilioPelaez 2012-04-09 03:08:59
是的,但搜索和替换工作正常。或者,如果你按照链接,它显示如何在终端中运行'sed'命令来做同样的事情。 – 2012-04-09 03:15:36
Xcode的项目的新版本通常包括宏定义DEBUG
建设一个调试版本的时候,所以最简单的方法是去:
#ifdef DEBUG
NSLog(@"Safe and sound ...");
#endif
这其实并不重要,但是,在我的经验有时你不希望控制台呕吐一堆日志,你可能只在某些场合需要它们。
这是有效的,但是为每个NSLog添加一个#ifdef /#endif会很麻烦... – EmilioPelaez 2012-04-09 03:08:17
这不是NSRE的行为吗?我认为这是整点...
- 1. 的NSLog与应用程序的发布
- 2. iPhone应用程序中断发布版本不在调试
- 3. Xcode:仅发布iPhone版本的应用程序更新?
- 4. 发布iPhone应用程序的语言版本
- 5. 包括应用程序的版本号从pom.xml的应用程序包
- 6. 开发iPhone应用程序的付费版本的试用版
- 7. 发布iphone应用程序
- 8. 发布新版本的Android应用程序(版本)
- 9. iOS版:通用的应用程序 - 发布的iPhone只
- 10. 发布不同版本的相同应用程序
- 11. C# - 不包括项目发布版本中的单元测试
- 12. iPhone应用程序的测试版本
- 13. 在选定的国家发布新版iphone应用程序
- 14. 脚本我的iOS应用程序的发布版本?
- 15. iOS应用程序内购买 - 发行版中的“无效产品ID”,不包括开发版本
- 16. 切换应用程序调试版本和MultiDexApplication发布版本
- 17. iPhone版发行应用程序包中的图标为空
- 18. 获取maxSatisfying版本,包括使用节点semver的预发布
- 19. Web发布的应用程序脚本HTML服务/ JQueryUI应用程序不起作用。开发版本确实
- 20. 我们可以发布iphone应用程序的两个版本吗?
- 21. Rails应用程序的布局不包括
- 22. 将多个版本的Android应用程序发布为一个应用程序
- 23. 发布我的应用程序的exosive ios5版本
- 24. 开发iPhone和iPad分开的应用程序版本
- 25. 使用Xcode的预发布版本提交iOS应用程序
- 26. 发布使用旧SDK版本构建的iOS应用程序
- 27. 在应用程序购买不工作在发布版本
- 28. iPhone发布版本崩溃
- 29. 是否发布新版本的应用程序删除旧版本的文件?
- 30. Android即时发布版本不包括基础APK
可能的重复http://stackoverflow.com/questions/9063100/xcode-ios-how-to-determine-whether-code-is-running-in-debug- release-build – 2012-04-09 02:18:00
大多数人都创建了自己的DebugLog宏或者其他一些调试标志。当你在它的时候,你可以自动插入'__PRETTY_FUNCTION__'的'%s'来列出日志来自哪里。 – 2012-04-09 02:20:39
这篇文章被标记为iPhone。为什么你关心你的代码是否写入控制台?没有人会看到它。 – anthropomorphic 2012-04-09 02:26:36