如何在非越狱机器上通过Reveal查看任意APP的视图层级
一、需求背景
由于我们在开发过程中偶尔会遇到一些查看第三方app的UI层级和实现细节的问题,通常情况下我们会找一台越狱的机器,通过越狱机器上安装越狱版本的我们需要查看的ipa文件,然后通过越狱机器上安装reveal插件,连接电脑通过reveal来查看app的实现层级,今天我们介绍一种在非越狱机器查看其他app的UI层级的一种方法,这方法不仅能配合reveal完成其他app视图层级的查看,还能够连接Xcode进行debug调试和越狱开发等其他的事情。
二、怎么能做到呢?
首先我们需要进行的准备工作,在github地址https://github.com/Naituw/IPAPatch 下载IPAPatch的工程代码,下载下来代码后,用你需要进行调试查看的越狱ipa文件替换掉Assets目录下的app.ipa文件,如果需要通过reveal查看app层级,将电脑上的reveal版本对应的RevealServer.framework文件放到Assets/Frameworks下(见下图),然后通过Xcode打开IPAPatch.xcodeproj文件,然后将工程的签名换成能跑在你真机上的签名,像我们平时debug自己的项目一样可以将这个第三方的app运行在你得手机上了,这时候打开reveal,就能看到这个app得视图层级了,当然这只是最基础的应用,你还可以做你想做的别的事情,比如debug别人的app、以及越狱开发等工作,具体可以看IPAPatch的文档。
framework下图是我们查看QQ音乐最新版本视图层级的效果:
qq三、越狱的ipa文件怎么下载呢?
上文中提到的需要被查看的越狱ipa文件从哪里找呢?再介绍给到大家一个专门从越狱商店下载越狱ipa的工具,工具的代码下载地址:https://github.com/ytx0574/IPASearch 下载源码后,编译运行即可,或者打包成一个mac下的app备用,下图是通过工具搜索“每日优鲜”的效果图。