iOS发布时设置不打印log
2016-03-07 11:22
489 查看
前提:在开发过程,我们为了调试经常要打印日志信息,但在发布版本时,打印信息是会消耗应用性能的。
情况一:初始化项目时,在预编译文件PrefixHeader.pch中做判断,把NSLog替换成自己的log,t调试时使用自己的log,代码如下
#ifdef DEBUG
#define WSLog(...) NSLog(__VA_ARGS__)
#else
#define WSLog(...)
#endif
情况二:项目已开发了大部分,并且使用NSLog打印日志信息。
#ifdef DEBUG
#define NSLog(...) NSLog(__VA_ARGS__)
#else
#define NSLog(...)
#endif
两端代码的意思是,用宏定义做判断,如果是DEBUG模式,则编译NSLog/WSLog;如果是RELEASE模式,则不做编译NSLog/WSLog。
情况一:初始化项目时,在预编译文件PrefixHeader.pch中做判断,把NSLog替换成自己的log,t调试时使用自己的log,代码如下
#ifdef DEBUG
#define WSLog(...) NSLog(__VA_ARGS__)
#else
#define WSLog(...)
#endif
情况二:项目已开发了大部分,并且使用NSLog打印日志信息。
#ifdef DEBUG
#define NSLog(...) NSLog(__VA_ARGS__)
#else
#define NSLog(...)
#endif
两端代码的意思是,用宏定义做判断,如果是DEBUG模式,则编译NSLog/WSLog;如果是RELEASE模式,则不做编译NSLog/WSLog。
相关文章推荐
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- MySQL Server 日志
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- Awstats处理多apache日志
- 典型入侵日志分析
- MSSQL 2005 LOG备份webshell的方法
- MS SQL Server数据库清理错误日志的方法
- 对MySQL日志操作的一些基本命令总结
- 简介操作MySQL日志的一些方法
- MySQL的日志基础知识及基本操作学习教程
- MSSQL 2005/2008 日志压缩清理方法小结
- SQL Server误区30日谈 第19天 Truncate表的操作不会被记录到日志
- C#3.0使用EventLog类写Windows事件日志的方法
- 使用MySQL Slow Log来解决MySQL CPU占用高的问题
- MySQL中查询日志与慢查询日志的基本学习教程