使用Reveal调试你的iOS 程序
博客地址:张飞的技术博客
Reveal是一个很强大的UI分析工具,能够非常直观查看app的UI布局。它能够在运行时调试和修改iOS应用程序。Reveal能连接到应用程序,并允许开发者编辑各种用户界面参数,这反过来会立即反应在程序的UI上。就像用FireBug调试HTML页面一样,在不需要重写代码、重新构建和重新部署应用程序的情况下就能够调试和修改iOS用户界面。用起来超级酸爽!
Reveal下载地址:Reveal官网。Reveal是一个收费软件,但是可以免费试用30天,如果你是短期用用,免费试用就够了。如果要长期使用,你可以Google破解教程,不过我还是推荐购买,毕竟程序员也不容易。
在项目中使用Reveal调试
首先需要把Reveal的framework导入到项目中,那这个framework在哪里找呢?打开你下载的Mac程序Reveal,如下图便可找到Reveal的framework了。
RevealFramework.png将framework导入到工程之后,你会发现当你编译的时候你会发现有错误,这时候该怎么办呢?只需要设置设置两个地方就会让烦心的错误消失。
- 选择
Build Phases
标签,如果在Link Binary With Libraries
配置项中已有Reveal.framework
,请将其移除。 - 选择
Build Settings
标签,在Other Linker Flags
的Debug
配置项中加入如下配置
-ObjC -lz -framework Reveal
这时候你在编译就没问题了。
NOTE:Reveal只是用来做调试之用,要注意不要把它打包到发布包中去了。关于这个问题你可以移步这里看看该怎么做。
现在一切设置都结束了,运行你的程序,打开Reveal,点击左上角的那个No Connection
选择你运行程序的那个模拟器开始酸爽的Reveal之旅吧。下面给大家看看图吧!是不是很炫酷的赶脚。
在真机上使用Reveal调试
看完上面在模拟器上用Reveal调试自己的项目,可能聪明的你已经想到要看看别人的APP是怎么布局的吧!细心的人会发现上面博主给的图就是分析的别人的APP。这该怎么做呢?这个就要用到真机了,而且这个还是属于逆向工程的范围哦!这个真机要是越狱了的。只有越狱了的系统才能把Reveal的framework嵌入到别人的APP中嘛。那该如何实现将Reveal的framework加载到别人的APP中呢?在iOS应用逆向工程
这本书里的一篇文章讲到需要将libReveal.dylib上传到设备的/Library/MobileSubstrate/DynamicLibraries。然后编辑一个名为libReveal.plist文件,也放在该目录下面。这样当电脑和越狱设备在同一个Wi-Fi环境下就可以查看别人的APP布局了。
NOTE:博主曾经为了真机测试,跟着这个步骤走的时候,没有编辑那个plist文件,把自己的机器搞成白苹果了。所以一定要跟着那篇文章中的提示编辑一个plist文件,不然机器就真的很可能白苹果了。对了,如果你不会SSH上传文件的话,你可以用助手软件小白式的上传哦!
如果上述方法不成功,还有一个非常简单的方法。就是在你的手机上安装插件RevealLoader。不会安装插件?看这里。这个插件使用起来才叫真正的酸爽啊!
NOTE:如果你面的这些你都认认真真的做了,但是你的Reveal界面不能选择真机的话,你可以考虑一下是不是你的
在同一个Wi-Fi环境下
出了问题,验证方法就是用你的手机建立一个热点让电脑连上,这样做绝逼是在同一个Wi-Fi环境下。如果还是不行的话,你就得检查一下你的Reveal版本是不是和手机插件都是最新版哦。话说不是最新版也没关系,只要你把你电脑上的Reveal库传到手机上的/Library/RHRevealLoader目录下覆盖原来的那个就OK咯!要是你没有这个目录那你就更杯具了,那是由于你的插件没有安装成功。
结尾
想要玩好Reveal?或许你可以去下面这些地方看看:
如果你觉得我的文章对你有帮助,可以随意打赏,再少也是一种鼓励。最后住大家玩得开心!