DoraemonKit ,简称DoKit,中文名 哆啦A梦,意味着可以像哆啦A梦同样提供给他的主人各类各样的工具。git
开发背景
每个稍微有点规模的 App,总会自带一些线下的测试功能代码,好比环境切换功能、帧率查看功能等等,这些功能的切换入口每每放在各式各样的入口中,好比一些特殊的手势,双击 statusBar,双击某一个功能区块,或者新建一个 keyWindow 始终至于 App 最上方等等,并且每个 App 里面的线下附带功能模块不少是类似的,好比帧率查看、内存和 CPU 监控等等,可是如今基本上都是每一个 App 都是本身实现了一份,经历了以上的问题以后,DoraemonKit 就有了它存在的意义。github
DoraemonKit 是一个功能集合面板,可以让每个 App 快速接入一些经常使用的或者你没有实现的一些辅助开发工具、测试效率工具、视觉辅助工具,并且可以完美在 Doraemon 面板中接入你已经实现的与业务紧密耦合的一些非通有的辅助工具,功能强大,接入方便,便于扩展。性能优化
简单总结
一、DoraemonKit 可以快速让你的业务测试代码可以在这里统一管理,统一收口;函数
二、DoraemonKit 内置不少经常使用的工具,避免重复实现,一次接入,你将会拥有强大的工具集合。工具
效果演示
功能模块
1、经常使用工具
- 【App 信息查看】 快速查看手机信息,App 信息,权限信息的渠道,避免去手机设置查找或者查看项目源代码的麻烦;
- 【沙盒浏览】 App 内部文件浏览的功能,支持删除和预览, 而且能经过 AirDrop 或者其余分享方式上传到 PC 中,进行更加细致的操做;
- 【MockGPS】 App 能定位到全国各地,支持地图地位和手动输入经纬度;
- 【H5任意门】 开发测试同窗能够快速输入 H5 页面地址,查看该页面效果;
- 【Crash查看】 方便本地打印出出现 Crash 的堆栈;
- 【子线程UI】 快速定位哪一些 UI 操做在非主线程中进行渲染,避免没必要要的问题;
- 【清除本地数据】 一键删除沙盒中全部数据;
- 【NSLog】 把全部 NSLog 信息打印到UI界面,避免没有开发证书没法调式的尴尬;
- 【Lumberjack】 每一条 CocoaLumberjack 的日志信息,都在在 App 的界面中显示出来,不再须要导出日志这么麻烦。
2、性能检测
- 【帧率】 App 帧率信息提供波形图查看功能,让帧率监控的趋势更加明显;
- 【CPU】 App CPU 使用率信息提供波形图查看功能,让 CPU 监控的趋势更加形象;
- 【内存】 App 内存使用量信息提供波形图查看功能,让内存监控的趋势更加鲜明;
- 【流量】 拦截 App 内部流量信息,提供波形图展现、流量概要展现、流量列表展现、流量筛选、流量详情,对流量信息统一拦截,成为咱们 App 中自带的 “Charles”;
- 【卡顿】 锁定 App 出现卡顿的时刻,打印出对应的代码调用堆栈;
- 【自定义】 能够选择你要监控的选项,包括 FPS、CPU、内存、流量。监控完毕以后,把数据保存到本地,也能够导出来作更加细致的分析;
- 【Load 耗时】 Load 函数耗时是 iOS 启动性能优化中重要的一项,该功能能够打印出全部 Load 函数的耗时,给开发者以参考。
3、视觉工具
- 【颜色吸管】 方便设计师 UI 捉虫的时候,查看每个组件的颜色值是否设置正确;
- 【组件检查】 能够抓取任意一个UI控件,查看它们的详细信息,包括控件名称、控件位置、背景色、字体颜色、字体大小;
- 【对齐标尺】 参考 Android 系统自带测试工具,可以实时捕获屏幕坐标,而且能够查看组件是否对齐;
- 【元素边框线】 绘制出每个 UI 组件的边框,对于组件布局有必定的参考意义。
开源地址:https://github.com/didi/DoraemonKit布局