让Xcode的控制台支持LLDB类型的打印

当大家看到这个的时候心里肯定会想,这有什么用?然而实际上,这个作用还是非常大的,毕竟当我们寻找问题的时候很大一部分情况下都是通过控制台输出来寻找碧油鸡(Bug)的所在,所以丰富自己的控制台功能无疑可以提高我们解决碧油鸡的效率。
我们都知道在Xcode断点调试的时候, 在控制台输入 po self.view.frame 或者 po id 类型的时候就死翘翘了。
不信? 看如下图 :

所以如何兼容打印这种类型呢,用下面方法即可解决。因为LLDB默认每次启动时都会加载~/.lldbinit这个文件,所以有些初始化的设定可以在这个文件中设定,但又因为程序没有真正启动,所以像设定断点等命令无法在这里执行。

打开终端输入三条命令:

touch ~/.lldbinit //在根目录下创建一个隐藏文件夹
echo display @import UIKit >> ~/.lldbinit //将UIKit框架导入此文件
echo target stop-hook add -o \"target stop-hook disable\" >> ~/.lldbinit

输完命令后没有任何提示? 好吧, 那恭喜你成功了~! 然后, 最关键的一步来了, 那就是…

重新运行项目(不用重启Xcode也可以),看如下图~~

就代表成功啦

那么现在我们继续在控制台输入po self.view.frame

成功了!如果po指令是一个id类型也可以正常打印。是不是感觉方便很多呀? 反正我是这么觉得。至于有没有用就看个人需要咯~~!

如何删除?

好吧, 那么问题来了, 我用命令创建, 如果不想玩了怎么办尼??

其实很简答, 看第一条命令touch ~/.lldbinit,就是在根目录下创建了一个隐藏文件.lldbinit,然后删除这个文件就搞定啦。
打开终端然后,在终端输入 rm ~/.lldbinit 命令即可.

猜你喜欢

转载自blog.csdn.net/chenglei9128/article/details/51405528