iOS开发UI调试神器----Reveal
做iOS的开发,UI是非常非常重要的一环。调试时我们一般用模拟器,提交前用真机做測试。用模拟器来调试UI效果尽管快捷方便,但有时仍然希望有更强大的工具来帮助分析UI,尤其是专注在UI的效果调试时。近期看到了Reveal这个工具,发现真的是强大无比,类似于FireFox上的FireBug,对于UI上的层的显示非常清晰直观,能够非常方便的用于UI的调试,用来学习UI的使用也是无上利器。
这个工具眼下已经出到正式版了,须要花费银子购买,好在还有30天的试用版本号能够下载尝尝鲜。(下载地址http://revealapp.com),据说曾经有免费的Beta版本号,哪位大大假设有的话请分享一下给我,多谢了。
安装Reveal不算复杂,要把Reveal用到project中则须要把framework或者dylib编入。
1. 打开Xcodeproject
2. 打开Revel工具,选择Menu->Help->Show Reveal Library in Finder,这样就会打开RevealApp里面带的库
3. 把Reveal.framework增加project,在弹出框中选中Copy items into destination group’s folder (if needed).
4.在project设置中,在Other Linker Flags项添加-ObjC -framework Reveal
假设你使用的还是Xcode4,那么还须要添加-frame CFNetwork -frame QuartzCore -framework CoreGraphics
5. 执行你的应用,应用能够是在模拟器上,也能够在真机上,只是必须保证Reveal和你的设备在同一个网络里面,然后选择Reveal里面的链接目标,连上应用后UI就会显示出来,每一个层次,每一个元素都能够显示,并且能够选中了看到数据。
我这里做的说明是把Reveal作为静态库链接到应用中的,也能够作为动态库来加载,当然,设置稍微有点不同,须要在AppDelegate.m文件里添加加载和移除的代码。
最最强悍的是,有人研究出了用Reveal来观看随意app的UI方法,并且也不复杂,这个属于逆向project的范畴了,在UI的学习上还是不错的(http://c.blog.sina.com.cn/profile.php?blogid=cb8a22ea89000gtw)。
iOS开发UI调试神器----Reveal的更多相关文章
- iOS开发UI篇—常见的项目文件介绍
iOS开发UI篇—常见的项目文件介绍 一.项目文件结构示意图 二.文件介绍 1.products文件夹:主要用于mac电脑开发的可执行文件,ios开发用不到这个文件 2.frameworks文件夹主要 ...
- iOS开发UI篇章 15-项目中的常见文件
iOS开发UI篇-常见的项目文件介绍 一.项目文件结构示意图 二.文件介绍 1.products目录:主要用于mac电脑开发的可运行文件.ios开发用不到这个文件 2.frameworks目录主要用来 ...
- iOS开发UI篇—CAlayer(自定义layer)
iOS开发UI篇—CAlayer(自定义layer) 一.第一种方式 1.简单说明 以前想要在view中画东西,需要自定义view,创建一个类与之关联,让这个类继承自UIView,然后重写它的Draw ...
- iOS开发UI篇—UITabBarController简单介绍
iOS开发UI篇—UITabBarController简单介绍 一.简单介绍 UITabBarController和UINavigationController类似,UITabBarControlle ...
- iOS开发-UI 从入门到精通(三)
iOS开发-UI 从入门到精通(三)是对 iOS开发-UI 从入门到精通(一)知识点的综合练习,搭建一个简单地登陆界面,增强实战经验,为以后做开发打下坚实的基础! ※在这里我们还要强调一下,开发环境和 ...
- iOS开发-UI 从入门到精通(二)
iOS开发-UI 从入门到精通(二)是对 iOS开发-UI 从入门到精通(一)知识点的巩固,主要以习题练习为主,增强实战经验,为以后做开发打下坚实的基础! ※开发环境和注意事项: 1.前期iOS-UI ...
- iOS开发UI篇—懒加载
iOS开发UI篇—懒加载 1.懒加载基本 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了, ...
- iOS开发UI篇—CAlayer层的属性
iOS开发UI篇—CAlayer层的属性 一.position和anchorPoint 1.简单介绍 CALayer有2个非常重要的属性:position和anchorPoint @property ...
- iOS开发UI篇—CAlayer(创建图层)
iOS开发UI篇—CAlayer(创建图层) 一.添加一个图层 添加图层的步骤: 1.创建layer 2.设置layer的属性(设置了颜色,bounds才能显示出来) 3.将layer添加到界面上(控 ...
随机推荐
- [Angular] Upgrade existing Angular app to Progressive Web App
If you alread have an existing Angular application and want to upgrade to progressive web app. 1. In ...
- OpenStack Heat总结之:Icehouse中通过Heat+Ceilometer实现Autoscaling
在I版本号中,Heat中加入了对于AutoScaling资源的支持.github上也提供了相应的AutoScaling的模板(https://github.com/openstack/heat-tem ...
- UNIX环境高级编程(5):文件I/O(1)
UNIX系统中的大多数文件I/O仅仅须要用到5个函数:open.read.write.lseek以及close.本章说明的函数常常称为"不带缓冲的I/0",术语不带缓冲指的是每一个 ...
- hdoj--1171--Number Sequence(KMP)
Number Sequence Time Limit: 10000/5000 MS (Java/Others) Memory Limit: 32768/32768 K (Java/Others) ...
- 【POJ 1082】 Calendar Game
[题目链接] http://poj.org/problem?id=1082 [算法] 对于每种状态,要么必胜,要么必败 记忆化搜索即可 [代码] #include <algorithm> ...
- WEBSERVICE之JDK开发webservice
转自:https://www.cnblogs.com/w-essay/p/7357262.html 一.开发工具与环境 1. jdk1.6版本以上(jdk1.6.0_21及以上版本) 2 .eclip ...
- 7个好用的在线YouTube视频下载工具
title: 7个好用的在线YouTube视频下载工具 toc: false date: 2018-10-10 15:11:00 categories: methods tags: youtube C ...
- springMVC、mybatis实现的登录页面(maven)
首先项目结构 pom文件 <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http:// ...
- python程序执行原理
Python程序的执行原理 1. 过程概述 Python先把代码(.py文件)编译成字节码,交给字节码虚拟机,然后解释器一条一条执行字节码指令,从而完成程序的执行. 1.1python先把代码(.py ...
- 复杂一些的SQL语句
表连接查询得到结果集后添加数据 INSERT INTO #saleSplitProduct(saleorderID,ProductCode,ProductNum,ProductPrice, produ ...