Reveal——调试UI的逆天神器

作者: 没有黑眼圈de熊猫 | 来源:发表于2016-05-10 12:31 被阅读1619次

最近翻阅简书,看到之前有人介绍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的高级技巧

相关文章

网友评论

  • Cuffy:mark
  • 拂晓的云:其实不用修改工程,打个断点就可以了。
    没有黑眼圈de熊猫:@拂晓的云 哦哦,至少看过这篇文章了,确实不需要每次把库导入工程,是个好办法。谢谢
    拂晓的云:@普罗旺斯_minmin 你看这里吧 http://www.jianshu.com/p/9229812b2038
    没有黑眼圈de熊猫:@拂晓的云 什么意思?请详细指教一下呗:smile::smile:
  • 479a9ca9d330:赞赞赞
    没有黑眼圈de熊猫:@我是风蓝 谢谢:smile::smile:
  • ForestSen:文章不错,收藏了。
    另外,回复楼主,InjectionPlugin 是不需要 重启也可以动态修改的。
    同时按下control+ shift+=即可,你少个shift应该是。
    可看下我朋友这篇文章http://www.jianshu.com/p/9f3a0cbaf1cc
    没有黑眼圈de熊猫:@忆语者 谢谢你替我验证,但是为什么我安装了那个插件,就有一个错误,control+shift+=也没有效果呢
    莫_名:@普罗旺斯_minmin 替你验证过了,control+shift+= ,果然成吨提高效率
    没有黑眼圈de熊猫:@品味_生活 嗯嗯,谢谢鼓励。原来那个插件是我不会用啊,我一会再下载安装然后试试,谢谢:smile::smile:

本文标题:Reveal——调试UI的逆天神器

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