InAppViewDebugger:即时设备端视图调试器

InAppViewDebugger:即时设备端视图调试器

InAppViewDebugger A UIView debugger (like Reveal or Xcode) that can be embedded in an app for on-device view debugging 项目地址: https://gitcode.com/gh_mirrors/in/InAppViewDebugger

项目介绍

InAppViewDebugger 是一个强大的库,它在iOS应用内部实现了一个类似于Reveal和Xcode内置视图调试器的3D视图调试工具。这款神器的独特之处在于,你可以直接在设备上进行UI问题的调试,无需连接到电脑。

项目技术分析

该库基于SceneKit实现了3D快照视图,允许用户通过手势控制放大、平移和旋转。此外,它还包括一个与3D视图同步的层级(树)视图,帮助开发者快速定位问题所在。InAppViewDebugger 支持扩展,不仅可以处理UIView层次结构,还能适应其他UI框架,如CoreAnimation或SpriteKit。

应用场景

  1. 现场调试:在真实设备上查看并调整布局,测试不同尺寸和方向的屏幕。
  2. 解决问题:在不连接电脑的情况下,针对用户反馈的界面问题进行实时排查。
  3. 开发过程中的原型验证:快速查看新功能对UI的影响,无需反复编译和运行。

项目特点

  1. 3D视图:使用SceneKit实现的3D快照视图,可自由操作以从不同角度查看UI。
  2. 同步的层级视图:点击3D视图中的元素,会在层级视图中高亮显示其位置,方便理解视图层次结构。
  3. 跨设备支持:兼容iPhone和iPad,并针对不同设备进行了专门的界面设计。
  4. 轻量级集成:支持CocoaPods和Carthage两种方式安装,Swift和Objective-C代码均能轻松调用。
  5. LLDB调试命令:可以直接在LLDB会话中调用,便于调试。
  6. 自定义配置:颜色、字体等属性可定制,满足个性化需求。
  7. 框架扩展性:通过实现Element协议,可以扩展对其他UI框架的支持。

使用方法

使用非常简单,只需几行代码即可唤起视图调试器:

在Swift中:

import InAppViewDebugger

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

在Objective-C中:

@import InAppViewDebugger;

- (IBAction)showViewDebugger:(id)sender {
  [InAppViewDebugger present];
}

或者在LLDB调试时:

(lldb) expr -lswift -- import InAppViewDebugger
(lldb) expr -lswift -- InAppViewDebugger.present()

控件说明

  • 长按元素以聚焦子层级,或者记录元素描述供进一步调试。
  • 调整底部左角的滑块来改变层次之间的间距。
  • 调整底部右角的范围滑块来改变可见的层级范围。
  • 长按空白区域切换头标题的显示或隐藏。
  • 切换边框的显示或隐藏。

结语

InAppViewDebugger是一个开发者必备的工具,它极大地提升了移动应用开发的效率,让你能在设备上直接调试界面,避免了因反复连接电脑而浪费的时间。立即尝试并加入你的项目,让它成为你解决UI问题的秘密武器吧!

InAppViewDebugger A UIView debugger (like Reveal or Xcode) that can be embedded in an app for on-device view debugging 项目地址: https://gitcode.com/gh_mirrors/in/InAppViewDebugger

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

缪昱锨Hunter

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值