iOS开发中调试信息的去除

调试方法

在iOS开发中有一种经常用到的调试方法->硬调试.
说得这么高大上,其实简单的说也就是只是一个NSLog输出而已.debug版本倒是无所谓.但是到了release版本,有些人经常会问,为什么他的APP在某些地方会卡顿.其实很简单,就是NSLog之类的输出语句耗费了一定的CPU性能,虽说iOS设备没有NSLog的输出终端,但其实这个NSLog确实是实实在在的”打印了的”.


那我们如何去掉这个NSLog呢.使用注释确实是一种比较省时省力的方法.但是,当一个工程大了的时候,是否真正的省时省力却是一件值得我们思考的事情.


不知道大家开发的时候用没有用过一些”间接的手段”.比如屏幕的宽度,不喜欢用 [UIScreen mainScreen].bounds.size.width而是使用#define一个比如KScreenWidth来替代上面的这个函数,方便调用.


对于#define,大家可能会说可能需要一个.h文件专门存放这个#define.然后每个文件都需要引用一下.
其实并不需要那么麻烦,在Xcode中有一种PCH文件,写在里面的语句自动的被全工程的其他文件引用.我们只需要在pch文件里面添加如下一段话就OK

#ifdef DEBUG//调试状态,打开LOG功能
#define NSLog(...) NSLog(__VA_ARGS__)
#define DEBUGTYPE YES
#else//发布状态,关闭LOG功能
#define NSLog(...)
#define DEBUGTYPE NO
#endif

上架的时候改成release版本就不会有NSLog输出了

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值