Reveal是一款调试iOS程序UI界面的工具,使用它可以查看各个界面的视图层级,在解决界面显示问题时非常有用。除了可以用来分析自己的App以为,它还可以用来查看其他App的布局,这在学习时非常有用。本篇文章就来说一说如何使用Reveal分析学习任意App。
前提条件
- "越狱"的iPhone
- 良好的网络环境, 跟网络有点关系, 如果在下面第二步连接iPhone失败的话, 请尝试检查网络或者更换网络.
步骤
1、在iPhone上安装OpenSSH
- 打开iPhone上的Cydia.
- 选择右下角的搜索,输入openSSH.
- 在搜索到的结果中选择OpenSSH.
- 点击屏幕右上角的安装.
2、测试Mac是否能连接iPhone
- 让Mac和iPhone处于同一wifi环境中.
- 在终端输入ssh root@IP(这个IP是iPhone上的IP,比如我的是ssh root@192.168.x.x)
ssh root@192.168.x.x
- 等待一会后,输入密码,默认是alpine(这个密码可以改,方法自行搜索,建议不要改)
- 连接成功后,就可以管理iPhone上的文件了。
- 输入exit退出(咱们这里只是测试一下能不能连上iPhone,具体操作还得在Mac里进行)
3、准备上传文件
- 打开Reveal, 点击菜单栏上的Help, 选择Show Reveal Library in Finder
- 将libReveal.dylib拷贝到桌面,方便操作
- 在桌面创建libReveal.plist,输入你喜欢的App的BundleId,可以多个,比如AppStore(其实不指定这个也可以, 能分析所有的App, 但是机器会慢到你无法想象, 开机白苹果啥的, 建议还是指定分析App比较好)
{
Filter = {
Bundles = ("com.apple.AppStore");
};
}
4、上传文件到iPhone(终端操作)
- 上传libReveal.dylib到iPhone(IP是iPhone上的IP)
scp Desktop/libReveal.dylib root@192.168.x.x:/Library/MobileSubstrate/DynamicLibraries
- 上传libReveal.plist到iPhone(IP是iPhone上的IP)
scp Desktop/libReveal.plist root@192.168.x.x:/Library/MobileSubstrate/DynamicLibraries
5、重启iPhone(关机, 开机)
如果你成功的完成了上面的步骤, 并且iPhone成功重启, OK, 下面就可以分析App了.
- 打开Reveal, 打开iPhone上你指定的App, 在Reveal左上方选择App
- 切换页面后, 可以点击Reveal右上角的刷新按钮
Done!
欢迎访问我的个人博客:http://www.wugaojun.com