原创作品,允许转载,转载时请务必以超链接形式标明文章原始出处 、作者信息和本声明。否则将追究法律责任。
昨天在拜读唐巧的《iOS开发进阶》,书里介绍了界面调试工具Reveal,动起手来,开始安装,其实大部分已经在书中有介绍,这里就介绍一些问题和解决方法。
1. 下载
首先去Reveal官网下载最新的Reveal ,官网地址 revealapp.com,然后发现试用期30天,30天当然不能满足我们对这款软件的热爱了,购买需要89刀,这都赶上苹果开发者账号了,不过没关系,我们在天朝,自然有办法去应对。
2.破解
虽然我们要支持正版软件,但是对于我们对学术的热爱,破解一下也无妨。
破解方法1:
只需要打开
~/Library/Preferences/com.ittybittyapps.Reveal.plist
把IBAApplicationPersistenceData这一项删除就是了。
然后测试没有成功,再次打开软件还是弹出试用提示,继续尝试,用CleanMyMac打开发现有文件存在,删掉后重复上面的步骤,再次打开Reveal,OK成功,不过在后上角看到还是有试用小提示,时间又变成30天,总来说这个方法只能延长时间,个人不推荐。
破解方法2:(推荐)
破解工具下载地址:http://pan.baidu.com/s/1jHbDgbW
使用说明:
1.安装原版并运行一次 -- 假设安装到 /Applications/Reveal.app/
2.打开/Applications/Reveal.app/Contents/MacOS/Reveal (或者右键显示包内容)改名为 Reveal_
3.将附件复制进来
4.启动主程序即可
此时,你会发现30天的试用期没有了!
3.安装
安装过程就可以完全根据唐巧大大的描述进行就可以了
首先配置环境:
1、打开命令窗口,在根目录下创建一个.lldbinit文件。输入下列命令,后回车
vim ~/.lldbinit
2、回车后,输入下列代码:
command alias reveal_load_sim expr (void*)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/libReveal.dylib", 0x2);
command alias reveal_load_dev expr (void*)dlopen([(NSString*)[(NSBundle*)[NSBundle mainBundle] pathForResource:@"libReveal" ofType:@"dylib"] cStringUsingEncoding:0x4], 0x2);
command alias reveal_start expr (void)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStart" object:nil];
command alias reveal_stop expr (void)[(NSNotificationCenter*)[NSNotificationCenter defaultCenter] postNotificationName:@"IBARevealRequestStop" object:nil];
(按ESC退出,输入":wq"保存)
以上是四句命令,命令的意思是,给lldb设置了4个别名,这四个别名的意义是:
reveal_load_sim:模拟器加载reveal时调用的动态链接库
reveal_load_dev:真机加载reveal时调用的动态链接库
reveal_start:启动reveal的调试功能
reveal_stop:关闭reveal的调试功能
在输入完这些命令后,输入以下命令,按一下回车就保存并退出编辑模式了。
3、在工程中配置reveal链接到模拟器
定位到AppDelegate类中的`application:didFinishLaunchingWithOptions:`方法,进行以下三个步骤:
增加一个断点,右键单击断点,选择`Edit Breakpoint`
单击`Action`,然后输入`reveal_load_sim`
勾选上`Options`上的 `Automatically continue after evaluating`
话说这样重启项目,在Reveal里就可以跟模拟器进行连接了。
但是运行了一下,发现还是连接不了,不知道原因,后来查了一下,才知道现在从官网下载下来的1.6.x版本都是直接打开就能运行,这样是无法通过这种模式连接到模拟器的。解决办法就是将下载下来的应用拖到Mac里应用程序里就行。
这时候再重启,刷新,发现已经和模拟器连接上了。
暂时感受一下吧。