iOS界面调试工具Reveal 配置

一、 简介

Reveal 是一个界面调试工具。使用Reveal,我们可以在iOS开发时动态地查看和修改应用程序的界面。它类似Chrome的“审查元素”功能,我们不但可以在运行时看到iOS程序的界面层级关系,还可以实时地修改程序界面,不用重新运行程序就可以看到修改之后的效果。在使用时,我们将Reveal连接上模拟器或真机上正在运行的iOS程序,然后就可以查看和调试iOS程序的界面。

Reveal效果图

Reveal效果图.jpg

  1. 左边部分是整个界面的层级关系,在这里可以以树形级层的方式来查看整个界面元素。
  2. 中间部分是一个可视化的查看区域,用户可以在这里切换2D或3D的查看方式,这里看到的也是程序运行的实时界面。
  3. 右边部边是控件的详细参数查看区域,当我们选中某一个具体的控件时,右边就可以显示出该控件的具体的参数列表。我们除了可以查看这些参数值是否正确外,还可以尝试修改这些值。所有的修改都可以实时反应到中间的实时预览区域。

Reveal工具适合调试非Interface Builder创建的界面,Interface Builder中创建的xib和storyboard在企业开发中并不是总能胜任。

一方面的原因是企业开发常常是多人协作,xib和storyboard对于版本管理工具并不友好,例如xib和storyboard中有编辑者使用的操作系统和Xcode的版本号,这样一旦协同开发者的操作系统版本或Xcode版本不一致,则每次即使是打开xib和storyboard不做任何操作都会修改其内容。

另一方面是由于商业应用的界面复杂性,xib和storyboard并不能方便地提供更细粒度的模块复用。

使用Reveal可以很好地调试使用代码编写的UI界面。

二、 配置

由于Reveal的升级,原来的1.X版本的配置已经不适合Reveal的配置了,原来的配置方法已经失效了,下面按照官网上介绍的三种方式进行相应的配置。

Reveal破解版( 密码:b3mv)

1.方式一:使用CocoaPods

如果你的项目使用了CocoaPods,那么只需要在Podfile添加相应版本即可。

1.我们查看Reveal-SDK的所有版本,通过终端搜索

pod search Reveal-SDK
Reveal-SDK

2.上面Reveal破解版使用的是24版本,所以在Podfile添加

pod 'Reveal-SDK', '~> 24', :configurations => ['Debug']

注:'~> 24'应该保持和你安装的Reveal版本号一致。 :configurations参数确保Reveal仅在到Debug中生效。

3.然后只需在终端执行

pod install 或者 pod update

2.方式二:使用Xcode Breakpoint

1.打开Reveal,依次点击Help -- Install Debugger Commands -- Continue -- Done

Reveal_Breakpoint_1

Reveal_Breakpoint_2

2.打开你的项目,依次点击View -- Navigators -- Show Breakpoint Navigator,或者直接点击断点图标。

Reveal_Breakpoint_3

3.添加断点“+” -- Symbolic Breakpoint…

Reveal_Breakpoint_4

4.设置断点()。

1.点击断点选中Edit Breakpoint…
2.在Symbol中填入UIApplicationMain
3.点击Add Action,设置Debugger Command,填入如下

 reveal load

4.勾中Automatically continue after evaluating actions

Reveal_Breakpoint_5

5.再次点击断点选中Move Breakpoint To,选中User

Reveal_Breakpoint_6

6.设置真机,选中TARGETS -- Build Phases -- New Run Script Phase -- 命名"Integrate Reveal Server",加入以下shell script

    REVEAL_APP_PATH=$(mdfind kMDItemCFBundleIdentifier="com.ittybittyapps.Reveal2" | head -n 1)
    BUILD_SCRIPT_PATH="${REVEAL_APP_PATH}/Contents/SharedSupport/Scripts/reveal_server_build_phase.sh"
    if [ "${REVEAL_APP_PATH}" -a -e "${BUILD_SCRIPT_PATH}" ]; then
        "${BUILD_SCRIPT_PATH}"
    else
        echo "Reveal Server not loaded: Cannot find a compatible Reveal app."
    fi
Reveal_Breakpoint_7
Reveal_Breakpoint_8

3.方式三:导入Reveal framework

1.打开Reveal,依次点击Help -- Show Reveal Library in Finder -- “iOS Library" or "tvOS Library”

Reveal_Breakpoint_9

2.打开你的项目文件,将相应的framework拷进去。

Reveal_Breakpoint_10

3.打开你的项目,Build Settings -- Framework Search Paths -- “$(inherited) $(SRCROOT)“

Reveal_Breakpoint_11

4.Build Settings -- Other Linker Flags -- “-ObjC -weak_framework RevealServer”

Reveal_Breakpoint_12

5.Build Settings -- Runpath Search Paths -- “$(inherited) @executable_path/Frameworks”

Reveal_Breakpoint_13

6.Build Phases -- Run Script,加入下面shell 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 "Reveal Server not loaded: RevealServer.framework could not be found."
 fi
Reveal_Breakpoint_14

4.结果:最终效果

Reveal_Breakpoint_15

注:真机情况下,会出现授权,选中允许

Reveal_Breakpoint_16
Reveal_Breakpoint_17

二、 总结

  1. Xcode 必须选择9.0或者以上的系统,如果运行不成功,检查一下Xcode配置。
  2. 配置方式一和三,上架时需要去除相关配置。

你可能感兴趣的:(iOS界面调试工具Reveal 配置)