Reveal是目前我发现最好的iOS View Hierarchy工具。它能够将App界面的视图层次结构实时的展示出来,以便于调试分析。官方文档(http://revealapp.com)只说明了如何在我们的项目中加载Reveal,但如果我们能够在他人的App中使用Reveal分析(在没有源码的情况下),无疑是一个很好的学习途径。






第五步: connect Reveal


我们需要:
- 越狱设备一台
- 软件Reveal
- 软件iFunbox
第一步:通过Cydia商店搜索并安装OpenSSH,Cydia Substrate(原名MobileSubstrate)

Cydia安装结果
第二步: 获取他人App的BundleID
使用iFunbox打开目标App,在根目录下找到iTunesMetadata.plist,打开iTunesMetadata.plist,将softwareVersionBundleId项中的值记下来

iFunBox解开的iPa包
第三步: 创建plist文件
创建文件libReveal.plist,将目标app的BundleId按照格式写好:

plist文件
第五步 命令行操作
此步必须确保手机和电脑在同一个网段上;同时,需要输入密码的全部输入“alipe”;命令中的Ip统一为手机连接的IP。

上传Reveal.Framework;询问 yes/no 输入yes;密码输入“alipe”

上传Reveal.dylib连接库; OpenSSH默认链接密码:alpine

上传plist文件
第五步: connect Reveal 
点击左上角的No Connection,然后选择“App Name”

当设备上的App页面切换后,需要点击Reveal窗口右上角刷新按钮进行刷新(Commend+R),在局域网内负荷较大时,视图刷新会很慢,可以让设备共享热点给Mac来解决

界面主要部分