专栏首页Objective-CReveal Version 12 使用指南

Reveal Version 12 使用指南

Reveal 是什么?

Reveal 是一款在iOS 开发时能实时查看界面UI的工具。类似Xcode本身自带的View Debug Hierarchy。但是Reveal要更加强大。

  • 如果界面很复杂的情况下,XcodeView 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的界面层次时。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MarkDown 语法

    用户1890628
  • Swift-MVVM 简单演练(一)

    用户1890628
  • iOS-宏定义-颜色设置

    用户1890628
  • iOS逆向工程之Reveal工具的安装、配置与使用

    今天博客内容比较简单,不过还是蛮重要的。经常有小伙伴在QQ上私下问我,说博客中是如何使用Reveal查看AppStore中下载应用的UI层级的,那么就在今天这篇...

    lizelu
  • 一周AI资讯|深度学习的新惊喜—眨眼变睁眼,刷手就付钱

    根据日经中文网报道,优衣库的母公司日本迅销集团将启动基于人工智能(AI)的生产改革,通过AI分析天气和流行趋势等大量数据,预测所需的商品数量。这有利于避免生产多...

    用户1386409
  • 问题来了:哪个AI公司会签下张学友当代言人?

    就在6月9日,又有两名逃犯在张学友金华演唱会被抓获,如果不看日期,还以为只是旧新闻。

    量子位
  • 使用Node.js驱动Redis,实现一个消息队列!

    Peter谭金杰
  • MySQL中使用表分区(table的partition)

    INSERT INTO `comment_partition` VALUES (1,'127.0.0.1',2,'66666666666666666','201...

    克虏伯
  • AI-Blocks:可以让任何人创建机器学习模型的所见即所得交互界面 | Github 项目推荐

    AI-Blocks 是一个强大且直观的所见即所得交互界面,可以让任何人都创建机器学习模型。 ? AI-Block 通过可拖动的对象来创建简单的场景,该模型可以直...

    AI研习社
  • 写稿机器人获“吴文俊奖”,能提升今日头条内容质量吗

    近期,今日头条和百度外卖同时获得人工智能领域的知名奖项:“吴文俊奖”。同样获得该奖项的还有清华大学、北京大学相关人员及研究项目。据公开信息显示,今日头条获得的是...

    企鹅号小编

扫码关注云+社区

领取腾讯云代金券