InAppViewDebugger 正在参加 2021 年度 OSC 中国开源项目评选,请投票支持!
InAppViewDebugger 在 2021 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
2021 年度 OSC 中国开源项目评选 正在火热进行中,快来投票支持你喜欢的开源项目!
2021 年度 OSC 中国开源项目评选 >>> 中场回顾
InAppViewDebugger 获得 2021 年度 OSC 中国开源项目评选「最佳人气项目」 !
授权协议 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 来了解一个具体的实现示例。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论

点击引领话题📣 发布并加入讨论🔥
暂无内容
发表了博客
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
发表了问答
{{o.pubDate | formatDate}}

{{formatAllHtml(o.title)}}

{{parseInt(o.replyCount) | bigNumberTransform}}
{{parseInt(o.viewCount) | bigNumberTransform}}
没有更多内容
暂无内容
暂无内容
0 评论
2 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部