UIView 调试工具 InAppViewDebugger

MIT
Swift
iOS
2019-05-06
红薯

InAppViewDebugger 是一个 UIView 调试器(类似 Reveal 或 Xcode),可以嵌入到应用中实现设备的调试功能。

InAppViewDebugger

InAppViewDebugger 是可以实现了视图调试器的库,提供三维视图快照和视图的层次图。类似 Reveal 和 Xcode 的视图调试器 。关键的区别在于其可以嵌入到应用中,并可直接在设备上调试 UI 问题,无需在电脑上进行调试。

主要特性

  • 使用 SceneKit 实现的 3D 快照视图:支持手势控制缩放、旋转和缩放
  • 可通过三维的方式展示视图的层次结构,并可对视图的选择进行同步更新显示:这是 Xcode 没有的特性,可以查看某个视图组件在层次结构中的位置
  • 支持 iPad 和 iPhone
  • 可扩展: 基础的实现支持UIView 但很容易对其进行扩展以支持任意类型的 UI 框架,如 CoreAnimation 或者 SpriteKit

要求

  • iOS 11.0+
  • Xcode 10.1+ (framework built for Swift 4.2)

安装

CocoaPods

在你的 Podfile 添加如下代码:

pod 'InAppViewDebugger', '~> 1.0.0'

Carthage

在你的 Cartfile 添加如下代码:

github "indragiek/InAppViewDebugger" "1.0.0"

使用

Swift

import InAppViewDebugger

@IBAction func showViewDebugger(sender: AnyObject) {
  InAppViewDebugger.present()
}

Objective-C

@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 层次结构。

Controls

元素聚焦

Focusing on an Element

调整不同层级的距离

Adjusting Distance Between Levels

调整可视化层级

Adjusting Visible Levels

显示和隐藏标题

Showing/Hiding Headers

显示和隐藏边框

Showing/Hiding Borders

定制

你可以对快照视图和层次视图的颜色、字体和其他属性进行定制,只需创建一个自定义的 Configuration即可。配置信息传递给函数 InAppViewDebugger.presentForWindow(:configuration:completion:).

扩展其他 UI 框架

当前实现只支持 UIView 层次结构,但很容易可以扩展对其他 UI 框架的支持。只要遵循 Element 协议即可。请看 ViewElement 来了解一个具体的实现示例。

的码云指数为
超过 的项目
加载中
请先登录后再评论。

暂无资讯

暂无问答

22个常用的iOS开发开源项目

分享近期 GitHub 上比较流行的 22 个和 iOS 开发相关的开源项目。 包括开发辅助工具,异步编程库,JSON 解析,移动端数据库,图像视频处理,网络请求,UI 框架、组件,算法、数据结构等内容。...

06/13 14:24
51
0

没有更多内容

加载失败,请刷新页面

没有更多内容

返回顶部
顶部