Reveal简介:

Reveal是一款iOS界面调试工具,辅助Xcode进行界面调试,使用它可以在iOS开发的时候动态的查看和修改应用程序的界面。

软件下载

首先去官网下载Reveal,下载地址:https://revealapp.com/download/

应用图标如下所示:

使用场景:

一、对于复杂的UI界面,一般我们使用纯代码进行布局,但是每次修改完代码都需要重新启动模拟器或者真机才能看到效果,相对比较麻烦;

二、当我们想要学习别人如何实现界面效果的时候

多种集成方式:

一: 使用CocoaPods

使用CocoaPods是最简单的集成方法,尤其适合团队开发,具体的步骤如下:

添加下面的文版到你的 Podfile 文件:

target 'YourMainAppTargetName' do
pod 'Reveal-SDK', :configurations => ['Debug']
end

执行:pod install

或者:pod update

在项目的根目录下执行 pod install 命令(如果之前已经在项目中使用了Cocoapods,执行 pod update 命令)

二: 通过给Xcode配置断点

适用范围:只适用于在模拟器上查看应用

1、使用快捷键 command+7 或者通过点击菜单 View → Navigators → Show Breakpoint Navigator 进入断点设置导航下

2、添加断点

3、设置断点参数

在 1 处写入UIApplicationMain

在 2 处点击 Add Action 按钮,复制下面的文字到输入框内

iOS targets:

 expr (Class)NSClassFromString(@"IBARevealLoader") == nil ? (void *)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/RevealServer.framework/RevealServer", 0x2) : ((void*)0)

tvOS targets:

expr (Class)NSClassFromString(@"IBARevealLoader") == nil ? (void *)dlopen("/Applications/Reveal.app/Contents/SharedSupport/iOS-Libraries/RevealServer.framework/RevealServer", 0x2) : ((void*)0)

最后 勾选上 Automatically continue after evaluating actions

最终的结果如下图所示:

4、右击,如下图所示进行设置:

设置完成,此时运行程序在模拟器中,打开Reveal,就能看见自己的APP的界面了:

三:链接RevealServer.framework 到应用程序

使用方法二只能查看模拟器上应用,如果想查看真机的界面,需要使用下面这种方法设置,

具体步骤如下:

1、找到RevealServer.framework库

2、导入库到程序的根目录下

3、Xcode配置

点击 TARGETS, 选中 Build Settings

a、输入 Framework Search Paths,在Debeg行设置:

 $(inherited) $(SRCROOT)

b、输入 Other Linker Flags,在Debeg行设置

 -ObjC -lz -weak_framework RevealServer

c、输入 Runpath Search Paths,检查设置是否如下所示

$(inherited) @executable_path/Frameworks

配置截图如下:

配置完成再次点击 TARGETS, 选中 Build Phases,添加一个新的 Run Script ,可以给他重命名为 "Integrate Reveal Server" 或者其他描述都行,复制下面的脚本:

export REVEAL\_SERVER\_FILENAME="RevealServer.framework"

\# Update this path to point to the location of RevealServer.framework in your project.

export REVEAL\_SERVER\_PATH="${SRCROOT}/${REVEAL\_SERVER\_FILENAME}"

\# If configuration is not Debug, skip this script.

[ "${CONFIGURATION}" != "Debug" ] && exit 0

\# If RevealServer.framework exists at the specified path, run code signing script.

if [ -d "${REVEAL\_SERVER\_PATH}" ]; then

"${REVEAL\_SERVER\_PATH}/Scripts/copy\_and\_codesign\_revealserver.sh"

else

echo "Cannot find RevealServer.framework, so Reveal Server will not be started for your app."

fi

配置如下图所示:

添加一个 Run Script

配置完成图:

此时在真机上运行程序,便会在Reveal上看到自己的APP了,大功告成,如下图所示:

注意:一定保证真机和电脑在同一个WIFI下!!!

Reveal : Xcode辅助界面调试工具的更多相关文章

  1. iOS界面调试工具 Reveal-备用

    Reveal是一个iOS程序界面调试工具.使用Reveal,我们可以在iOS开发时动态地查看和修改应用程序的界面. 对于动态或复杂的交互界面,手写UI是不可避免的.通过Reveal,我们可以方便地调试 ...

  2. ios 利用Reveal来调试界面1 --模拟器(步骤详解)

    Reveal是一个程序界面调试工具,可以调试iOS apps和tvOS apps.使用Reveal,我们可以在开发时动态地查看和修改应用程序的界面.避免每次修改UI的时候都要重新运行程序.接下来按照规 ...

  3. Reveal分析IOS界面,plist文件读取

    Reveal分析IOS界面,需要得到app的 softwareVersionBundleId上传到iphone中 , 而IOS8的iTunesMetadata.plist (设备路径/var/mobi ...

  4. [Xcode 实际操作]一、博主领进门-(10)Xcode右侧界面介绍

    目录:[Swift]Xcode实际操作 本文将演示Xcode右侧界面介绍. 在项目导航区,打开视图控制器的代码文件[ViewController.swift] 右上角第三个[辅助编辑器]按钮,将代码切 ...

  5. 功能强大的Xcode辅助工具Faux Pas:帮你找到各种隐形的bug

    本文转载至 http://www.cocoachina.com/industry/20140804/9307.html Faux Pas(Beta版下载地址)是一个Xcode辅助工具,用以检查Xcod ...

  6. 项目总结(五)--- 界面调试工具Reveal

    在开发中,我们也许会碰到以下需求:对于一些动态复杂的交互界面,手码去制定界面是常有的事情,然而我们在开发中想修改过一些参数后想看下实时效果,只能重新运行项目,进入到对应的页面来进行修改,是不是有点麻烦 ...

  7. 界面调试工具reveal

    iOS界面调试工具 Reveal 转自 http://chuansong.me/n/1308113 原创2015-04-17 唐巧iOS开发 Reveal是一个iOS程序界面调试工具.使用Reveal ...

  8. 界面调试工具Reveal的使用介绍

    Reveal 注: 此处介绍Reveal,其中大部分内容来自于唐巧的<iOS开发进阶>一书,以此说明. 如何使用Reveal进行模拟器调试,只需进行以下三个步骤即可. 1. 创建.lldb ...

  9. ios 利用Reveal来调试界面2--真机调试(步骤详解)

    使用真机调试我们的App界面,如果你的真机是没有越狱的设备,那么使用Reveal来调试UI的步骤是最麻烦的.

随机推荐

  1. vue 前端框架 (三)

    VUE 生命周期 <!DOCTYPE html> <html> <head> <meta charset="utf-8"> < ...

  2. Leetcode-35.搜索插入位置

    题目描述: 给定一个排序数组和一个目标值,在数组中找到目标值,并返回其索引.如果目标值不存在于数组中,返回它将会被按顺序插入的位置. 你可以假设数组中无重复元素. 示例 1: 输入: [1,3,5,6 ...

  3. 2018-2019-2 20165231王杨鸿永《网络对抗》Exp1 PC平台逆向破解

    实践目标 本次实践的对象是一个名为pwn1的linux可执行文件. 该程序正常执行流程是:main调用foo函数,foo函数会简单回显任何用户输入的字符串. 该程序同时包含另一个代码片段,getShe ...

  4. 【codechef】FN/Fibonacci Number

    题意 给出 c 和 P ,求最小的非负整数 n 使得 \(Fib(n)=c(mod~ P)\) 其中 P 是质数且 模 10 等于一个完全平方数(也就是说 P 的末位是个完全平方数,那么只能是 1 或 ...

  5. module.exports与exports区别

    CommonJS模块规范 Node应用由模块组成,采用CommonJS模块规范. 根据这个规范,每个文件就是一个模块,有自己的作用域.在一个文件里面定义的变量.函数.类,都是私有的,对其他文件不可见. ...

  6. SpringBoot 上传文件夹

    前端代码: <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF ...

  7. 搭建Linux运行环境-虚拟机

    1.虚拟机软件介绍 虚拟机(Virtual Machina)软件就是一套特殊的软件,它可以作为系统独立运行,也可以运行与系统之上. 若是运行与系统之上的虚拟机软件,在一台电脑(PC或笔记本等)上安装虚 ...

  8. 【Git】Git提交代码的正确姿势

    按此步骤基本没问题,中间有conflict,需要手动解决. 1.git stash 2.git pull 3.git stash pop 4.git add --xxx 5.git commit -m ...

  9. vscode添加prettier格式化自动加分号问题

    在vscode的settings.json中添加: "prettier.singleQuote": true, "prettier.semi": false, ...

  10. gardner 算法matlab实现

    % 仿真4比特原始数据与星座图的编码映射过程: % 完成16QAM信号的调制解调: % 基带信号符号速率 ps =1Mbps: % 成形滤波器的滚降因子 a=0.8: % 载波信号频率fc=2MHz ...