iOS中的UI调试工具:Reveal 11集成和使用

Reveal是什么?

Reveal功能类似于Xcode自带的Debug View Hierarchy(视图层次结构),但相较于Debug View Hierarchy,Reveal不仅可以直观的看到UI布局,还能实时的修改它以便达到最佳的显示效果,就像Firefox中的fireDug一样。


Xcode自带界面调试工具

Reveal

Reveal 11(2017.11最新版)的集成和使用方法

目前有三种集成方法:
1.使用CocoaPods 2.手动将Framework导入工程 3.打断点

1.使用CocoaPods,不知道CocoaPods的同学们戳这里

这种方式适合于团队开发时开发人员都使用Reveal的场景。
Podfile需要导入的框架如下:

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

注意:请确保只在调试环境下将Reveal Server framework导入到您的环境中。

configurations => ['Debug']:配置这个参数可以确保Reveal只会链接到你的调试版本。

2.手动将Framework导入工程

1.从Reveal取出适用于iOS的Revel框架,并将它放入您项目的根目录。

步骤1:找到存放框架目录

步骤2:复制到项目中

2.配置您的Xcode工程:
配置1:Targets->Build Setting->Search Paths->Framework Search Paths->Dubug->键入:$(inherited) $(SRCROOT);
配置1

配置2:Targets->Build Setting->Other Linker Flags->Dubug->键入:-ObjC -weak_framework RevealServer
配置2

配置3:请确认您的Targets->Build Setting->Runpath Search Paths ->Dubug中有:$(inherited) @executable_path/Frameworks
配置4:Targets->BuildPhases->new Run Script phase 中写入以下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
配置4

3.关闭重新打开xcode并运行您的工程,在Reveal中就能看到相应的UI布局。

注意:请确认您的电脑和调试设备处在同一局域网下

3.打断点

1.在Reveal中打开Help主菜单->点击Install Debugger Commands。点击Continue

2.xcode中添加断点


添加断点

3.配置断点
配置1:Symbol键入: UIApplicationMain Action键入:reveal load

配置1

配置2:右键单击新创建的断点,Move Breakpoint To -> User。


配置2

4.真机调试时额外需要一个步骤:Targets->BuildPhases->new Run Script phase 中写入以下script,并重命名为Integrate Reveal Server:

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
真机调试需要的步骤
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 参考链接 添加Reveal 为了让Reveal能够在运行时,检视及调试您的iOS应用,首先您需将Reveal库文件...
    681916139107阅读 7,588评论 0 6
  • 前言:Reveal是一个iOS程序界面调试工具,它能够在应用程序运行过程中调试应用程序界面。通过Reveal我们可...
    风_iOSer阅读 6,516评论 0 2
  • Reveal是iOS开发工具中的神器之一,它能够在应用程序运行过程中调试应用程序界面。 通过Reveal我们可以连...
    jackfrued阅读 14,283评论 2 48
  • Reveal Reveal是分析、调试iOS应用UI的利器。 Reveal能够在运行时调试和修改iOS应用程序。它...
    fakepinge阅读 5,636评论 0 5
  • 结婚十一年了,每年就是过年回家一周时间,与家婆相处合计也就不到半年时间。一直我在外都在夸家婆勤劳、老实、人好相处,...
    Joan_zhou阅读 1,846评论 0 0

友情链接更多精彩内容