Objective c 如何配置使用DLog ALog

前面讲了pch 预编译文件的简单使用,这里再讲一下另一个东西。

我们知道,使用NSLog虽然很方便可以看到我们想要的内容,但是其实他印出的信息其实并不全,比如我们想知道在哪个类中打印?或者是在哪行打印,当然我们可以通过pch 对NSLog进行定义,或者重新写一个Log的类来定义我们想要的log结构,但是这里主要讲一下DLog 和ALog的配置使用。

如何实现

#ifdef DEBUG
#   define DLog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)
#else
#   define DLog(...)
#endif

// ALog always displays output regardless of the DEBUG setting
#define ALog(fmt, ...) NSLog((@"%s [Line %d] " fmt), __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__)

解释:

DLog 和ALog本质上其实就是在pch 预编译期间,对NSLog进行宏替换,我们可以在使用它们的时候定义其他的信息。你可以看到,在debug 模式下,和release 模式下,上面的DLog作用。 debug模式会输出行数,类等信息,release 模式则不会输出,如果你使用ALog,两种模式均会输出行数信息。

我想这个部分还是会有一些帮助的,如果你刚好需要的话,也可以加到你的project里面

下面再讲一下设定部分;

设定一

build setting下面搜索:Other C Flags

在debug栏位,输入-DDEBUG即可

设定二

让你的编译器知道预编译文件的路径是必须要的。在Prefix Header那栏右边双击输入以下信息:

$(SRCROOT)/YourPCHDirectory/YourPrefixHeader.pch

$(SRCROOT) 定位到你的project path,后面你只需要跟包含你pch 文件的那层目录即可。

这样就大功告成,可以在你的project里面使用DLog和ALog了,试试看吧 : )

posted @ 2020-03-25 13:57  萧蔷ink  阅读(209)  评论(0编辑  收藏  举报