InAppViewDebugger 是一个 UIView 调试器(类似 Reveal 或 Xcode),可以嵌入到应用中实现设备的调试功能。
InAppViewDebugger 是可以实现了视图调试器的库,提供三维视图快照和视图的层次图。类似 Reveal 和 Xcode 的视图调试器 。关键的区别在于其可以嵌入到应用中,并可直接在设备上调试 UI 问题,无需在电脑上进行调试。
InAppViewDebugger
UIView
在你的 Podfile 添加如下代码:
pod 'InAppViewDebugger', '~> 1.0.0'
在你的 Cartfile 添加如下代码:
github "indragiek/InAppViewDebugger" "1.0.0"
import InAppViewDebugger @IBAction func showViewDebugger(sender: AnyObject) { InAppViewDebugger.present() }
@import InAppViewDebugger; // alternative import (they're the same): // #import <InAppViewDebugger/InAppViewDebugger-Swift.h> - (IBAction)showViewDebugger:(id)sender { [InAppViewDebugger present]; }
lldb
(lldb) expr -lswift -- import InAppViewDebugger (lldb) expr -lswift -- InAppViewDebugger.present()
present 函数显示你应用关键窗体的 UI 层次结构。
present
你可以对快照视图和层次视图的颜色、字体和其他属性进行定制,只需创建一个自定义的 [Configuration](https://github.com/indragiek/InAppViewDebugger/blob/master/blob/master/InAppViewDebugger/Configuration.swift)即可。配置信息传递给函数 InAppViewDebugger.presentForWindow(:configuration:completion:).
[Configuration](https://github.com/indragiek/InAppViewDebugger/blob/master/blob/master/InAppViewDebugger/Configuration.swift)
InAppViewDebugger.presentForWindow(:configuration:completion:)
当前实现只支持 UIView 层次结构,但很容易可以扩展对其他 UI 框架的支持。只要遵循 Element 协议即可。请看 ViewElement 来了解一个具体的实现示例。
Element
ViewElement