iOS开发,Reveal的使用
来源:互联网 发布:中华英才网 知乎 编辑:程序博客网 时间:2024/05/16 16:11
故事的背景是这样的。
王二最近换了一个新老板,产品团队是新的,测试团队是新的,只有他一个人干着iOS的开发工作,前有老板催促项目,后有测试堵截bug,好苦逼啊。。。本来,特意为产品给的设计图会是这样的
但实际上,产品给的设计图是这样的:
果然,理想很丰满,现实很骨感。苦逼的王二同学跑去问产品:“UI元素之间的尺寸怎么确定?”产品说:“你定吧,看着和原型图一样就行。”呵呵呵呵呵,这种回答和“我要做一张图。”“什么图?”“用户一看就想买的那种图。”有什么区别?
不过这点事情难不倒王二,很快,王二就把ui部分完成了,交给产品一看,产品看了三秒后:“哎,你这个输入框的位置往上3个像素好不好?”“按钮可不可以小几个像素?”。。。。。。王二按照产品的要求修改了下,又拿去给产品看,产品扒拉扒拉说了一堆像素上的事。王二崩溃了,拉着产品在旁边,每改一步,就运行一次程序,给产品看一下效果。就这样,改代码——运行——显示效果——产品扒拉扒拉——改代码——运行——显示效果——产品扒拉扒拉。。。。
王二疯了。。。。。
王二给我讲了他的遭遇后,我问他:你知不知道一个能实时修改ui尺寸并显示的app?
王二:。。。。。。
好吧,我来告诉你。
这个软件就是大名鼎鼎的Reveal,下载地址http://revealapp.com/download/
首先下载试用版的(这个软件建议花钱买一下,物超所值啊有木有),安装。嗯,就是这个样子的
安装完后,就该配置了
1、打开命令窗口,在根目录下创建一个.lldbinit文件。输入下列命令,后回车
vim ~/.lldbinit2、回车后,输入下列代码:
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结构,这个方法我没有用过,大家可以去找找网上的资料。
- iOS开发,Reveal的使用
- iOS 开发学习36 reveal使用
- iOS开发工具-Reveal
- 【工具相关】iOS-Reveal的使用
- iOS之旅--工具Reveal的使用
- Reveal的使用--整理自唐巧的《iOS开发进阶》
- iOS开发UI调试利器Reveal简单使用
- Reveal使用教程-使用Reveal查看任意iOS App的图层结构
- ios开发常用工具-reveal
- iOS开发中集成Reveal
- iOS开发中集成Reveal
- iOS开发之旅--Reveal查看别人的App
- iOS逆向工具Reveal使用
- [iOS进阶]Reveal使用技巧
- Reveal的使用
- reveal工具的使用
- Reveal的使用
- UI调试神器 for ios:Reveal的使用与破解
- 中国天气预报开放接口地址
- 组合还是继承
- PullToRefresh动态设置刷新的文字
- Android/Java 中利用HttpClient 发送Patch请求,携带Json参数
- 某企业“金融云计算之架构视角”内训圆满结束!
- iOS开发,Reveal的使用
- Android中linux内核模块--开发设备驱动程序 && 上层接口实施 (二)
- springMVC与shiro集成
- 报错error:Error parsing XML:unbound prefix的解决办法
- Error: Error parsing D:\android-sdk-windows\sdk\system-images\android-22\android-wear\x86\devices.xm
- Matt Cutts 称记者说 Google “do no evil” 是找茬儿,应该是 “don't be evil”
- 关键字PASCAL
- 双缓存
- JSongTaste