这个软件就是大名鼎鼎的Reveal,下载地址http://revealapp.com/download/
首先下载试用版的(这个软件建议花钱买一下,物超所值啊有木有),安装。嗯,就是这个样子的
安装完后,就该配置了
1、打开命令窗口,在根目录下创建一个.lldbinit文件。输入下列命令,后回车
vim ~/.lldbinit
2、回车后,输入下列代码:
1
2
3
4
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];
以上是四句命令,命令的意思是,给lldb设置了4个别名,这四个别名的意义是:
reveal_load_sim:模拟器加载reveal时调用的动态链接库
reveal_load_dev:真机加载reveal时调用的动态链接库
reveal_start:启动reveal的调试功能
reveal_stop:关闭reveal的调试功能
在输入完这些命令后,输入以下命令,按一下回车就保存并退出编辑模式了
:wq
3、在工程中配置reveal链接到模拟器
打开工程后,在appdeleget中的didfinished:方法中打下断点,并按下图编辑断点:
打完断点后,就可以选择模拟器运行工程了,当工程跑起来后,打开reveal,点击左上角的工程选择,会看到我们的工程。如图:
选择我们的app的工程,就能在reveal中看到我们的ui布局了。
左边是干嘛的我就不说了,中间是当前页面的ui,右边是ui元素的相关尺寸、位置信息。在右边对应的框中可以修改相关数值并即时显示。
在Xcode中也提供了这种即时查看ui的功能,但是没法动态实时修改所以还是用reveal比较方便一点,而且,在修改了某个页面的元素尺寸后,在模拟器上计入下一个页面,回到reveal上之后重新连
reveal还可以在真机调试中链接真机,在编辑断点时要修改为相应的指令。并且将reveal的动态链接库一并添加进工程中:
1、点击revel菜单的“help——》show reveal library in finder”在finder中查找reveal的动态链接库:libReveal.dylib,并将其拖入工程。
2、调整libReveal.dylib的引用方式,这里我们只需要将libReveal.dylib文件拷贝到Sandbox中,但是我们在引入libReveal.dylib的时候Xcode默认是以Link Binary With Libraries的方式的,实际上应该是Copy Bundle Resources,所以应该先将libReveal.dylib从Link Binary With Libraries中移除掉,然后在Copy Bundle Resources中添加。
3、修改断点处的指令为reveal_load_dev.
reveal还可以连接破解版的苹果设备,来查看其他家的appUI结构,这个方法我没有用过,大家可以去找找网上的资料。