Reveal的集成

作者: Chris_js | 来源:发表于2016-09-27 16:39 被阅读0次


Reveal是一个界面调试工具。使用Reveal,我们可以在iOS开发时动态地查看和修改应用程序的界面。它类似Chrome的“审查元素”功能,我们不但可以在运行时看到iOS程序的界面层级关系,还可以实时地修改程序界面,不用重新运行程序就可以看到修改之后的效果。

配置Reveal:

1、配置方式一(需要修改工程文件)

(1)启动Reveal,选择Reveal -> Help -> Show Reveal Library in Finder -> iOS Library。

(2)在Xcode中打开iOS项目,将Reveal.framework拖到项目中,如果升级了Reveal,对应的Reveal.framework文件也要更新到对应的版本。

(3)选择Target -> Build Phases -> Link Binary With Libraries将Reveal.framework移除。经测试本步骤不是必须的

(4)在Xcode的Target -> Build Setting -> Other Linker Flags添加如下几个配置项

-ObjC -lz -framework Reveal

(5)运行项目,然后打开Reveal的界面,在左上角选择连接的设备

然后就可以看到实际的运行效果

2、配置方式二(建议使用)

Reveal官方介绍了好几种办法使Reveal连接模拟器,都需要修改工程文件。但如果修改了工程文件,就需要参与项目开发的所有人都装有Reveal,下面介绍一种比较方便的方式来集成Reveal,步骤如下:

首先打开Terminal,输入vim ~/.lldbinit创建一个名为.lldbinit的文件,然后将如下内容输入到该文件中:

command alias reveal_load_sim expr (void*)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib", 0x2);

command alias reveal_load_dev expr (void*)dlopen([(NSString*)[(NSBundle*)[NSBundle mainBundle]              pathForResource:@"libReveal" ofType:@"dylib"] cStringUsingEncoding:0    x4], 0x2);

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

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

该步骤其实是为lldb设置了4个别名,为了后续方便操作,这4个别名意义如下:

reveal_load_sim 为模拟器加载reveal调试用的动态链接库

reveal_load_dev 为真机加载reveal调试用的动态链接库

reveal_start 启动reveal调试功能

reveal_stop 结束reveal调试功能

(1)Reveal连接模拟器

在AppDelegate类的application:didFinishLaunchingWithOptions:方法中,做如下3步操作(如下图所示):

1)点击该方法左边的行号区域,增加一个断点,之后右击该断点,选择“Edit Breakpoint”。

2)点击”Action”项边右的”Add Action”,然后输入“reveal_load_sim”

3)勾选上Options上的”Automatically continue after evaluating”选项。

(2)Reveal连接真机

要用Reveal连接真机调试,我们需要先把Reveal的动态链接库上传到真机上。由于iOS设备有沙盒存在,所以我们只能将Reveal的动态链接库添加到工程中。

1)点击Reveal菜单栏的”Help”->”Show Reveal Library in Finder”选项,可以在Finder中显示出Reveal的动态链接库:libReveal.dylib

2)调整libReveal.dylib的引用方式,这里我们只需要将libReveal.dylib文件拷贝到Sandbox中,但是我们在引入libReveal.dylib的时候Xcode默认是以Link Binary With Libraries的方式的,实际上应该是Copy Bundle Resources,所以应该先将libReveal.dylib从Link Binary With Libraries中移除掉,然后在Copy Bundle Resources中添加。

3)按照之前处理模拟器的方式,将AppDelegate类中的断点Action改成reveal_load_dev.

启动后在控制台会出现如下内容:

至此,Reveal成功集成至Xcode中,可以进行UI调试了。

相关文章

  • 通过静态库的方式集成Reveal

    通过静态库的方式集成Reveal 用Xcode打开需要集成reveal的工程 打开reveal,选择 hellp ...

  • iOS集成Reveal

    Reveal破解版下载链接 Reveal集成有三种方法: CocoaPods集成(推荐) framework集成(...

  • iOS逆向之工具

    1、监测工具 ** Reveal**1、使用framework集成Reveal到项目中。每个项目都需要集成,设置p...

  • Reveal集成

    第一步 打开Reval软件,依次 Help -> Show Reveal Library in Finder 第二...

  • 集成Reveal

    下载Reveal安装包直接拉入应用中。 Reveal常用技巧:http://revealapp.com/blog/...

  • iOS开发中集成Reveal

    iOS开发中集成Reveal Reveal 是一个界面调试工具。使用Reveal,我们可以在iOS开发时动态地查看...

  • Reveal的集成

    Reveal是一个界面调试工具。使用Reveal,我们可以在iOS开发时动态地查看和修改应用程序的界面。它类似Ch...

  • 逆向4(Reveal ,LLDB & debug server,

    Reveal 简介 Xcode6开始苹果已经将Reveal查看自己开发程序界面信息的功能集成到了Xcode中, 程...

  • Reveal

    简介 Reveal 可以实时查看页面元素的结构,还可以更改相关属性值并实时查看效果。 集成 点击Reveal图标,...

  • Reveal集成指南

    Reveal集成指南 来自: http://support.revealapp.com/kb/getting-st...

网友评论

    本文标题:Reveal的集成

    本文链接:https://www.haomeiwen.com/subject/jencyttx.html