如何让NSLog在调试(Debug)的时候输出,发布(Release)的时候不输出?

更新:

在调试的时候可以把所在的类名、方法名、行数等相关信息也打印出来,更方便调试,更新一下宏定义

问题:

之前一直觉得用在调试的时候用NSLog无所谓,但是接口有很多坑的时候就需要非常多的打印,然后就越来越多的无用信息打印出来,严重影响了后面的调试,而且只是希望在调试的时候打印,发布的时候不需要打印,然后就记得好像可以用宏定义来解决。

解决方法:

找了一下,发现其实用宏定义非常简单,几句话搞定,首先在pch文件添加下面的宏定义即可:


//...:表示宏定义的可变参数

// __VA_ARGS__:表示函数里面的可变参数

#ifdef DEBUG

#define FuLog(...) NSLog(@"%s 第%d行 \n %@\n\n",__func__,__LINE__,[NSString stringWithFormat:__VA_ARGS__])

#else

#define FuLog(...)

#endif


使用:

在需要用NSLog()的地方可以用FuLog()替换,这样的话在Debug的模式就可以打印,在Release的模式下就不会打印

如何测试成不成功呢?按下图切换调试即可

点击项目名,然后选择Edit Scheme

切换模式调试,看看是否成功

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

扫码关注云+社区