iOS View Hierarchy杀器-Reveal的使用

作者: I_m赵昊 | 来源:发表于2016-10-29 18:04 被阅读122次

    前言

    Reveal(http://revealapp.com)是一款十分优秀的iOS View Hierarchy工具(收费,试用30天),功能跟Xcode自带的类似,可用于查看相关界面的布局,支持2D、3D视图切换效果,但是比起Xcode自带的功能要强大许多,使用的时候可以方便地调试和进行应用界面修改,不用每次修改代码再重新启动,并且能够看到每个UI控件的约束条件,界面的大小等等,对于开发者应用界面调试以及学习优秀应用界面布局都是一大利器。


    准备

    一部越狱手机,Reveal软件


    Reveal功能模块简述

    更多的使用技巧可自行搜索或探索,这里不做赘述

    Reveal界面功能模块


    使用场合


    第一种使用场合,应用于已有源码项目

    ①执行以下步骤找到Reveal.framework的位置

    获取Reeal.frameworks位置1 显示frameworks位置

    ②将Reveal.framework拖至项目中,接下来添加引用库libz

    2.png

    ③再在Build Settings中的Other Link flags添加-ObjC(注意大小写)就可以了,图示如下:

    3.png

    ④添加测试代码

    测试代码

    ⑤Xcode运行程序(如果是真机的话,需确保电脑跟手机的ip地址处于同一个网段,简而言之,连同一个wifi就可以了),切换到Reveal程序,此时会发现Reveal内没有任何反应,需再执行以下操作

    关联设备


    第二种使用场合,应用于应用商店下载的项目

    ①同第一种使用方法一样,找到Reveal.framework的位置

    ②首先在越狱设备上安装应用(以我安装的应用为例子),分别将Reveal.framework复制到越狱机的:/System/Library/Frameworks目录下,将libReveal.dylib复制到越狱机的:/Library/MobileSubstrate/DynamicLibraries下,打开终端,直接上代码:

    文件拷贝代码

    接着写一份plist文件命名为libReveal.plist,同样将该文件复制到越狱机:/Library/MobileSubstrate/DynamicLibraries文件夹下(指令同上),也可以直接从我的github下载https://github.com/zhaozhenbo/libReveal,在Bundles下新增一行(关于如何获取上架应用bundle ID的部分,请拉到文末,查看“拓展”),把你想看的应用bundle id 填上即可,文件样式如下:

    libReveal.plist样式

    ③重启设备,打开plist文件内bundle ID对应的应用。就可以看到你想查看的应用布局了。


    拓展

    查看第三方应用bundle ID

    之前在本人的上一篇文章“iOS逆向工程的探索与学习”,有提及由于iOS8.3系统之后(包括iOS8.3)苹果公司对应用文件共享进行了限制,过诸如iTools,PP助手等应用没法将越狱手机上的应用备份至电脑上,所以如果你的越狱手机系统>=iOS8.3,那么通过备份应用至电脑通过ipa名字得知应用bundle ID的做法显然不可取。下面介绍一种与之类似的简单方法:

    ①打开iTunes,搜索你要查看布局的app,下载

    在iTunes上下载相关app

    show in Finder

    右击显示文件位置

    ③将应用的后缀名“.ipa”修改为“.zip”->保存->解压zip压缩包

    解压压缩包

    ④打开解压后的文件夹->打开“.plist”文件->搜索bundle,之后所见即所得

    获取bundle ID

    非完整破解Reveal

    以下方法并非一次破解终身无忧的破解方式,这种方法只是类似于30天到期了重新安装应用而已,不过,直接把数据文件干掉重新生成,可免去你安装应用的时间,前往路径,~/Library/Preferences/com.ittybittyapps.Reveal.plist,把这个plist文件干掉,然后再重启一下电脑即可,完整破解版请自行搜罗,我个人并不提倡一劳永逸的做法,如果你能通过自我学习之后破解相关软件,无论是对自己知识面的拓展还是技术的提升,都有极大好处,目前我也在积极学习相关技能,stay foolish,stay hungry~

    验证砸壳后的应用能不能使用Reveal查看布局

    使用Reveal查看砸壳应用效果图

    显示异常

    使用Reveal查看未砸壳应用效果图

    显示正常

    经过多次对比得知,砸壳后的应用貌似在使用Reveal查看布局界面时会经常无法显示。(这个论证只是通过一个应用砸壳与非砸壳对比下得出的,有不严谨的地方,大伙可自行尝试,进一步验证该结论的正确性

    相关文章

      网友评论

      • 胡斌_3f21:很高兴认识你,看了你写的一些文章,深受启发,有一事不明,如何修改ipa的界面呢,有什么思路吗?
      • 君赏:不用越狱,添加xcode支持就可以支持模拟器了,真理要复杂一些。免费用最新版可以看我一篇博客

      本文标题:iOS View Hierarchy杀器-Reveal的使用

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