LLDB方式集成Reveal

一个偶然的机会认识到了reveal,二话不说开始找资料了,但是集成过程中遇到了问题,为了方便朋友们学习reveal,我就来介绍一种比较方便的集成Reveal的方式--LLDB。

LLDB集成可以以简单的步骤在一个工程中集成Reveal之后,在所有的工程中都可以使用了。(此处不介绍framework集成方法)

1、下载Reveal,我直接在网上下载的Reveal的破解版的。下载完成后安装,打开Reveal。

点击Help,按照图中的选择进行点击。

LLDB方式集成Reveal_第1张图片
打开Reveal

选择完以后来到下图:

LLDB方式集成Reveal_第2张图片
找到libReveal.dylib文件

点击显示简介以后:

LLDB方式集成Reveal_第3张图片
libReveal.dylib文件的简介

找到位置信息,复制位置信息,复制完以后如下路径:/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries

以上路径是小编自己复制出来的路径,具体路径按照你当前复制的为准。

2、打开Xcode选择任意一个项目,并运行项目,等到项目运行起来以后


LLDB方式集成Reveal_第4张图片
点击这个地方
LLDB方式集成Reveal_第5张图片
点击完以后

在控制台输入以下内容:

expr (Class)NSClassFromString(@"IBARevealLoader") == nil ? (void*)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib", 0x2) : ((void *)0)

其中/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib就是你获取到的路径了。


1

输入内容以后,回车。控制台有反应了,再输入第二句:

expr (void)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil];

2

如果第二步输入完以后,控制台没有输出:INFO: Reveal Server started (Protocol Version 25)

那可能就是你的路径写错了。

集成成功以后,点击

LLDB方式集成Reveal_第6张图片

图中红框中的按钮。然后来到Reveal页面上,点击No connection,就可以使用了。


如果每次打开工程以后,都在控制台输入以上两行命令的话,太长了,下面就是介绍一下简便的输入方法。

打开终端,输入touch ~/.lldbinit,然后再输入open ~/.lldbinit,就打开一个文件

在文件中输入

command alias zxp_reveal_load_sim expr (Class)NSClassFromString(@"IBARevealLoader") == nil ? (void *)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib", 0x2) : ((void*)0) 

command alias zxp_reveal_start expr (void)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil];

然后点击保存。重启xcode,打开项目后,下控制台输入zxp_reveal_load_sim就代表集成reveal了!

zxp_reveal_load_sim和zxp_reveal_start代表别名,自己可以随意起。

下面解释一下.lldbinit文件。

.lldbinit是一个隐藏文件,貌似默认是没有的。Xcode每次启动的时候,则都会去~/.lldbinit这个目录寻找这个文件里的LLDB命令。所以我们可以在这个文件里进行一些命令的初始化设置或者设置别名。

你可能感兴趣的:(LLDB方式集成Reveal)