Reveal——调试UI的逆天神器

最近翻阅简书,看到之前有人介绍Injection Plugin for Xcode插件,直接修改某一行代码,F5一下就可以刷新,不用Com+R运行看效果了,节省了大量时间有木有啊,但是梦想是美好的,现实是残酷的,我安装了插件之后,修改了界面上的Label的显示内容,执行control+=,进度条闪过,但是界面没有改,这是什么鬼?难道是Xcode 7.3不支持,后来问了简书这篇文章的作者,发现是当前界面是不会刷新的,得需要重新进入界面。。。好吧,果断卸载了,这时候突然脑海中闪出一个模糊的印象,好像之前用过一个工具,对UI上的层的显示很清晰直观,可以很方便的用于UI的调试,用来学习UI的使用也是无上利器,这个工具就是Reveal。

Reveal下载地址

这个软件是付费软件,但是有30天的试用,如果大家觉得好用的话,可以再购买。但是刚才在搜Reveal破解的时候,发现已经有人在分享了

分析iOS UI的利器Reveal安装破解教程

一: 安装reveal很简单,只需要把framework导入工程即可。

1,打开Reveal工具,点击左上角工具栏的help选项,然后选择Show Reveal Library in Finder,这样就会看到RevealApp里面的库。

点击Show Reveal Library in Finder


选择第一个导入

2.打开Xcode,然后将Reveal.framework加入工程,在弹出框中选中Copy items if needed

导入工程

3.修改工程的「Build Settings」下的「Other Linker Flags」的对应的值为「-ObjC」

Other Linker Flags

4 .Com + R 运行一下,如果报错的话,需要引入「libz.dylib」库,然后重新运行工程,就OK了。

导入libz库
哈哈,可以调试了

5.运行成功后,打开Reveal,左上角的就会显示你运行的工程

这样就可以调试了,在Reveal里面修改,回车就可以看到效果了,我是在模拟器里面运行的,也可以真机调试,但是真机必须与电脑是在同一个网络里面。

调试

二:还有一种方法是不用将Reveal.framework导入工程内就可以调试的。

1.点击左上工具栏的View -->Navigators --> Show Breakpoint Navigator .

第一步

2.点击左下角的加号,选择Add Symbolic Breakpoint

第二步

3. 在Symbol输入区内输入UIApplicationMain 点击Add Action按钮, 确认Action被设置为Debugger Command。

4. 将expr (Class)NSClassFromString(@"IBARevealLoader") == nil ? (void *)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib", 0x2) : ((void*)0)拷贝至action 的输入区

5.选中Automatically continue after evaluating actions选项。效果如下:

设置如上

6. 右击刚才新创建的断点,选择Move Breakpoint To → User

Move Breakpoint To → User

好了,运行成功后,打开Reveal,左上角的就会显示你运行的工程。效果如上面的GIF一样,是不是很神奇。

最最强悍的是,有人研究出了用Reveal来观看任意app的UI方法,而且也不复杂,这个属于逆向工程的范畴了,在UI的学习上还是不错的

Reveal查看任意app的高级技巧

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容