Reveal 是什么?
Reveal 是一款在iOS 开发时能实时查看界面UI的工具。类似Xcode本身自带的View Debug Hierarchy。但是Reveal要更加强大。
- 如果界面很复杂的情况下,
Xcode的View Debug Hierarchy可能会造成Xcode闪退。 - 支持实时修改界面坐标并且实时看到修改后的效果(
当然,这里面调完后还是需要在你的代码里去修改的)。免去了重新运行才能看到效果所浪费的时间。 - 还可以利用越狱手机查看其它应用的结构,进行逆向分析。
Reveal 下载地址
Reveal 最近两年版本更新的频率很频繁,2017/11/21已经到Version 12了(跟随 MacOS High Sierra 发布)。如果不花钱的话可以有免费的试用版本,需要填你的邮箱去申请。试用版本可以免费使用14天。现在网上的绝大多数破解Reveal的教程已经不管用了。而且每个版本配置方法也略有不同,大家使用的时候要注意一下。
Reveal 价格介绍
- 免费的
14天直接填个人邮箱下载 - 个人版的
$59=¥393.42 - 商业版本的
$119
Reveal 配置
首先我的建议是如果你不是特别反感英文的话,最好是去Reveal 官网教程里去看一下。毕竟那里是最权威的,也是最新的。现在我用的版本是Reveal 12。而我在网上找的教程多数都是Reveal 2或者更早的。就造成了使用Xcode Breakpoint的时候输入的一些命令有差异,造成了使用上出现问题,真的很糟心的。
而且,其实官网的教程也很傻瓜的。不需要懂太多英文的,更何况每个教程都配有YouTobe的视频教程的。
如果进入官网比较慢的话,那么直接进入本地的教程文档也是一样的。这个存在于Reveal的安装包里面,直接进入如下目录
file:///Applications/Reveal.app/Contents/SharedSupport/Documentation/Reveal%20Integration%20Guide.html
如果是第一次使用,那么需要安装一下Debugger Commands...,如果不安装这个就直接随便搜一个教程使用的话,你可能会遇到下面的问题。
Help->Install Debugger Commands...
安装完以后就可以在Xcode中配置断点调试了。
添加断点
选择Symbolic Breakpoint
在Symbol位置添加
UIApplicationMain
在Action位置点击Add Action选择Debugger Command
并且在Debbuger Command下面一行输入
reveal load
再勾选Options一行
Tips :
这里我遇到的坑就是之前老的版本的
Reveal是需要输入一大坨东西的,但是现在只需要输入reveal load就可以了。
最后一步,将断点设置给Xcode使用者,这样以后创建的工程就都会默认开启Reveal的。
当你运行程序并看到控制台有如下输出时,证明可以正常启动Reveal了。
Loading Reveal Server from /Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/RevealServer.framework/RevealServer...
Reveal Server was loaded successfully.
INFO: Reveal Server started (Protocol Version 42).
Cocoapods 集成 Reveal
在你项目的Podfile文件里添加Reveal-SDK
target 'YourProject' do
pod 'Reveal-SDK', :configurations => ['Debug']
end
:configurations => ['Debug']目的是确保Reveal仅在Debug环境下被链接到工程中使用。
安装Reveal-SDK
pod install
如果你曾经安装过,那么执行更行即可
pod update Reveal-SDK
使用
运行完程序后,即可在Reveal界面中看到如下效果。
按图中举例说明,被选中的是一个TableView选中时,视图层级和3D层级效果区域都对应变蓝。你可以查看每一个Cell的类型。及每一个Cell的内容等。
我们尝试修改一下失败图片这一行Cell的背景色,将其改成红色,我们可以看到,神奇的事情发生了。居然模拟器里面也变成了红色。
总结
个人觉得,就是价格贵了点,但用的确实挺方便的,主要体现在比如 :
- 刚接手新的代码,想快速定位某一个控制器的类或者
View的时候。 - 某一个点击事件不灵了,不知道到底是按钮上面有遮盖物还是其它原因的时候。
- 界面上无缘无故多了一个去不掉的
View,又不知道为何出现时。 - 纯代码布局,修改界面元素,想立即看到效果时。
- 某个
Demo的某个功能你也想实现类似的功能时。 - 如果越狱的手机,还可以查看参照的
APP的界面层次时。












网友评论