一、 简介
Reveal 是一个界面调试工具。使用Reveal,我们可以在iOS开发时动态地查看和修改应用程序的界面。它类似Chrome的“审查元素”功能,我们不但可以在运行时看到iOS程序的界面层级关系,还可以实时地修改程序界面,不用重新运行程序就可以看到修改之后的效果。在使用时,我们将Reveal连接上模拟器或真机上正在运行的iOS程序,然后就可以查看和调试iOS程序的界面。
Reveal效果图:
- 左边部分是整个界面的层级关系,在这里可以以树形级层的方式来查看整个界面元素。
- 中间部分是一个可视化的查看区域,用户可以在这里切换2D或3D的查看方式,这里看到的也是程序运行的实时界面。
- 右边部边是控件的详细参数查看区域,当我们选中某一个具体的控件时,右边就可以显示出该控件的具体的参数列表。我们除了可以查看这些参数值是否正确外,还可以尝试修改这些值。所有的修改都可以实时反应到中间的实时预览区域。
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
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
2.打开你的项目,依次点击View -- Navigators -- Show Breakpoint Navigator
,或者直接点击断点图标。
3.添加断点“+” -- Symbolic Breakpoint…
。
4.设置断点()。
1.点击断点选中Edit Breakpoint…
2.在Symbol
中填入UIApplicationMain
3.点击Add Action
,设置Debugger Command
,填入如下
reveal load
4.勾中Automatically continue after evaluating actions
。
5.再次点击断点选中Move Breakpoint To
,选中User
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
3.方式三:导入Reveal framework
1.打开Reveal,依次点击Help -- Show Reveal Library in Finder -- “iOS Library" or "tvOS Library”
2.打开你的项目文件,将相应的framework拷进去。
3.打开你的项目,Build Settings -- Framework Search Paths -- “$(inherited) $(SRCROOT)“
。
4.Build Settings -- Other Linker Flags -- “-ObjC -weak_framework RevealServer”
。
5.Build Settings -- Runpath Search Paths -- “$(inherited) @executable_path/Frameworks”
。
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
4.结果:最终效果
注:真机情况下,会出现授权,选中允许
二、 总结
- Xcode 必须选择9.0或者以上的系统,如果运行不成功,检查一下Xcode配置。
- 配置方式一和三,上架时需要去除相关配置。