Reveal这个强大的界面调试工具。能够实时查看、改动view的属性,大体上实现了iOS程序猿梦寐以求的功能。比方,有时候我们加入了一个view,可是那个view死活不显示出来,这时候祭出Reveal,非常easy就能找到这个view,有可能它被遮挡起来了,有可能被我们不小心放到了superView的外面。等等,方便的非常。

非常早就知道Reveal能够用来查看其它app的界面,但一直没试过。今天为了抄别人的一个界面实现,用Reveal搞了一把。

准备条件:

  • 已经越狱的iPhone;
  • iPhone上安装了iFile。
  • Mac上安装了Reveal。
  • iPhone和Mac处在同一个局域网;

过程例如以下:

  1. 在iPhone上打开“iFile”软件,点击以下的地球图标:



此时iFile会在iPhone上使用Bonjour服务生成一个文件server:

这时候,我们在Mac浏览器里打开192.168.*.***,就能够查看iPhone上的文件系统。并上传文件到iPhone了。

  1. 打开Mac上的Reveal。并选择”Help”-“Show Reveal Library in Finder”。这时候有2个文件:Reveal.framework和libReveal.dylib。

  2. 将Reveal.framework压缩(不能上传文件夹)并上传到iPhone的”/System/Library/Frameworks/”文件夹中,然后解压缩;

  3. 在iFile里打开”应用程序”文件夹(iFile的内置书签),找到你想查看的APP文件夹里的info.plist文件。查找这个APP的Bundle ID,如果为com.example.domain。

  4. 在Mac上创建libReveal.plist,编辑内容为:

    “`

    {

    Filter={

    Bundles = “com.example.domain”;

    }

    }

    上传libReveal.plist到”/Library/MobileSubstrate/DynamicLibraries”,也就是和libReveal.dylib在一起。

  5. 最后一步。重新启动iPhone。然后打开想要查看的APP。Mac上的Reveal就有反应啦!

附:白苹果不刷机解决方式

我自己在编辑libReveal.plist的时候,是在iPhone上创建并编辑的。然而在编辑的过程中,iFile崩溃,整个系统不响应,甚至无法关机,于是仅仅能”电源键+Home键”重新启动,于是悲剧的白苹果了。

这时候。我们能够在重新启动的时候。在白苹果刚刚出现的时候,按住iPhone的音量添加键。iPhone就能够进入Safe Mode,能够正常重新启动了。

能够有机会将出问题的文件删掉。而不须要刷机了!

使用Reveal来查看别人的APP界面+白苹果不刷机解决方式的更多相关文章

  1. 如何利用Reveal神器查看各大APP UI搭建层级

    作者 乔同X2016.08.22 19:45 写了3195字,被42人关注,获得了73个喜欢 如何利用Reveal神器查看各大APP UI搭建层级 字数413 阅读110 评论0 喜欢5 title: ...

  2. gitlab上fork别人的代码后更新的2种解决方式

    1.解决方式1 首先要先确定一下是否建立了主repo的远程源: git remote -v如果里面只能看到你自己的两个源(fetch 和 push),那就需要添加主repo的源: git remote ...

  3. iOS使用Reveal分析他人app界面

    本文转自http://blog.csdn.net/cuibo1123/article/details/45694657 安装: 首先前往 http://revealapp.com/download/  ...

  4. 关于APP界面布局设计的八种优缺点

    学习UI设计的时候,经常要接触到页面的布局,布局的方式会直接影响一个APP的视觉效果,好的布局方式,往往能带来舒服的视觉效果,更能得到用户的接受与好评.然而万变不离其宗,移动端页面常用的布局,不外乎以 ...

  5. 菜鸟对APP界面设计的一些心得小结

    1. 前言 当我看着我以前做的一些app界面,我意识到我应该把我的界面设计能力水平再提升一个,因为实在是丑啊!贴一些以前的设计: 现在看来,是不能看的了.我主要是做需求设计,后面也有一些美工的工作,我 ...

  6. 10个最新手机美食APP界面设计欣赏

    移动软件时代,简单下载美食app,动动手指,滑动几下手机屏幕,即可足不出户,搜索,预定和购买各路美食.然而,对于作为手机app UI 界面设计师的你来说,最大的问题并不在于如何使用这些美食软件来方便生 ...

  7. Nuxt+Vue聊天室|nuxt仿微信App界面|nuxt.js聊天实例

    一.项目简述 nuxt-chatroom 基于Nuxt.js+Vue.js+Vuex+Vant+VPopup等技术构建开发的仿微信|探探App界面社交聊天室项目.实现了卡片式翻牌滑动.消息发送/emo ...

  8. IOS与Android APP界面设计规范要点

    IOS篇 一.尺寸及分辨率 iPhone界面尺寸:320*480.640*960.640*1136 iPhone6:4.7英寸(1334×750),iPhone6 Plus:5.5英寸(1920×10 ...

  9. 26款能够吸引用户的 iPhone App 界面设计

    在这个移动互联网告诉的时代,众多的移动应用程序涌现出来.谁能抓住用户的注意力,谁就有可能成功.在下面这些移动 App 界面设计中,你可以看到不同创意类型的视觉效果,让你获得灵感. 您可能感兴趣的相关文 ...

随机推荐

  1. FTP上传文件服务器python实现

    总结 使用Python的socket和socketserver模块实现ftp文件服务器.不是很难,但在粘包的问题上纠缠了不少时间.解决办法是发送文件信息之后等待一段时间. #!/usr/bin/pyt ...

  2. 51nod 1006 最长公共子序列Lcs 【LCS/打印path】

    1006 最长公共子序列Lcs  基准时间限制:1 秒 空间限制:131072 KB 分值: 0 难度:基础题  收藏  关注 给出两个字符串A B,求A与B的最长公共子序列(子序列不要求是连续的). ...

  3. dependencies与devDependencies的安装方法

    npm install在安装node模块时,有两种命令参数可以把它们的信息写入package.json文件: –save –save-dev 但它的文档里1,只提到一个小区别,–save会把依赖包名称 ...

  4. Java---Static内存图详解

    案例: 输出结果 内存图: 执行流程: java文件通过编译成class文件,class文件通过类加载器加载到方法区中,程序首先会加载核心类库,也就是你的程序想要运行所需要的一些最基本的类.接着程序会 ...

  5. fs寄存器相关,PEB,TEB

    ---恢复内容开始--- FS寄存器指向:偏移 说明000 指向SEH链指针004 线程堆栈顶部008 线程堆栈底部00C SubSystemTib010 FiberData014 Arbitrary ...

  6. [置顶] python字典和nametuple互相转换例子

    如果tuple中的元素很多的时候操作起来就比较麻烦,有可能会由于索引错误导致出错. namedtuple对象给tuple命名. 下面的例子可以字典和nametuple互相转换 aa={'verbosi ...

  7. JS请求报错:Unexpected token T in JSON at position 0

    <?php /* 最近做一个ajax validate表单验证提交的代码,在ajax提交的时候 JS请求报错:Unexpected token T in JSON at position 0 描 ...

  8. 利用js实现table增加一行

    简单的方法: 用jquery插件,比如设置该table的id为mytable <table id="mytable"> <tr> <td> 第一 ...

  9. Hadoop部署启动异常问题排查

    hadoop的日志目录(/home/hadoop/app/hadoop-2.6.4/logs) 1.hadoop启动不正常用浏览器访问namenode的50070端口,不正常,需要诊断问题出在哪里: ...

  10. Android之——流量管理程序演示样例

    转载请注明出处:http://blog.csdn.net/l1028386804/article/details/47680811 眼下.市面上有非常多管理手机流量的软件,能够让用户实时获取到自己手机 ...