Latest 1.1.7
Homepage https://github.com/didi/DoraemonKit
License MIT
Platforms ios 8.0
Dependencies PNChart, BSBacktraceLogger, fishhook, UITextView+Placeholder
Authors
DoraemonKitDoraemonKitDoraemonKitDoraemonKitDoraemonKit

DoraemonKit /’dɔ:ra:’emɔn/,简称DoKit,中文名 哆啦A梦,意味着能够像哆啦A梦一样提供给他的主人各种各样的工具。

English Introduction

开发背景

每一个稍微有点规模的 App,总会自带一些线下的测试功能代码,比如环境切换功能、帧率查看功能等等,这些功能的切换入口往往放在各式各样的入口中,比如一些特殊的手势,双击 statusBar,双击某一个功能区块,或者新建一个 keyWindow 始终至于 App 最上方等等,而且每一个 App 里面的线下附带功能模块很多是相似的,比如帧率查看、内存和 CPU 监控等等,但是现在基本上都是每个 App 都是自己实现了一份,经历了以上的问题之后,DoraemonKit 就有了它存在的意义。

DoraemonKit 是一个功能集合面板,能够让每一个 App 快速接入一些常用的或者你没有实现的一些辅助开发工具、测试效率工具、视觉辅助工具,而且能够完美在 Doraemon 面板中接入你已经实现的与业务紧密耦合的一些非通有的辅助工具,功能强大,接入方便,便于扩展。

简单总结

1、DoraemonKit 能够快速让你的业务测试代码能够在这里统一管理,统一收口;
2、DoraemonKit 内置很多常用的工具,避免重复实现,一次接入,你将会拥有强大的工具集合。

效果演示

DoKit 首页效果演示

功能模块

一、常用工具

  1. 【App 信息查看】 快速查看手机信息,App 信息,权限信息的渠道,避免去手机设置查找或者查看项目源代码的麻烦;
  2. 【沙盒浏览】 App 内部文件浏览的功能,支持删除和预览, 并且能通过 AirDrop 或者其他分享方式上传到 PC 中,进行更加细致的操作;
  3. 【MockGPS】 App 能定位到全国各地,支持地图地位和手动输入经纬度;
  4. 【H5任意门】 开发测试同学可以快速输入 H5 页面地址,查看该页面效果;
  5. 【Crash查看】 方便本地打印出出现 Crash 的堆栈;
  6. 【子线程UI】 快速定位哪一些 UI 操作在非主线程中进行渲染,避免不必要的问题;
  7. 【清除本地数据】 一键删除沙盒中所有数据;
  8. 【NSLog】 把所有 NSLog 信息打印到UI界面,避免没有开发证书无法调式的尴尬;
  9. 【Lumberjack】 每一条 CocoaLumberjack 的日志信息,都在在 App 的界面中显示出来,再也不需要导出日志这么麻烦。

二、性能检测

  1. 【帧率】 App 帧率信息提供波形图查看功能,让帧率监控的趋势更加明显;
  2. 【CPU】 App CPU 使用率信息提供波形图查看功能,让 CPU 监控的趋势更加形象;
  3. 【内存】 App 内存使用量信息提供波形图查看功能,让内存监控的趋势更加鲜明;
  4. 【流量】 拦截 App 内部流量信息,提供波形图展示、流量概要展示、流量列表展示、流量筛选、流量详情,对流量信息统一拦截,成为我们 App 中自带的 “Charles”;
  5. 【卡顿】 锁定 App 出现卡顿的时刻,打印出对应的代码调用堆栈;
  6. 【自定义】 可以选择你要监控的选项,包括 FPS、CPU、内存、流量。监控完毕之后,把数据保存到本地,也可以导出来做更加细致的分析;
  7. 【Load 耗时】 Load 函数耗时是 iOS 启动性能优化中重要的一项,该功能可以打印出所有 Load 函数的耗时,给开发者以参考。

三、视觉工具

  1. 【颜色吸管】 方便设计师 UI 捉虫的时候,查看每一个组件的颜色值是否设置正确;
  2. 【组件检查】 可以抓取任意一个UI控件,查看它们的详细信息,包括控件名称、控件位置、背景色、字体颜色、字体大小;
  3. 【对齐标尺】 参考 Android 系统自带测试工具,能够实时捕获屏幕坐标,并且可以查看组件是否对齐;
  4. 【元素边框线】 绘制出每一个 UI 组件的边框,对于组件布局有一定的参考意义。

接入文档

相关文档

更新日志

QQ 交流群

QQ 交流群

项目成员

发起者 / 负责人


DoraemonKit

yixiangboy

贡献者


DoraemonKit

wenquanlebao


DoraemonKit

hiXgb


DoraemonKit

teethandnail


DoraemonKit

wanglikun7342


DoraemonKit

Chinnko


DoraemonKit

LinJZong


DoraemonKit

y644938647


DoraemonKit

huakucha

协议

Apache-2.0 license

DoraemonKit 基于 Apache-2.0 协议进行分发和使用,更多信息参见 协议文件

Latest podspec

{
    "name": "DoraemonKit",
    "version": "1.1.7",
    "summary": "iOSu5404u5f0fu5404u6837u7684u5de5u5177u96c6u5408",
    "description": "iOSu5404u5f0fu5404u6837u7684u5de5u5177u96c6u5408 Desc",
    "homepage": "https://github.com/didi/DoraemonKit",
    "license": {
        "type": "MIT",
        "file": "LICENSE"
    },
    "authors": {
        "yixiang": "[email protected]"
    },
    "source": {
        "git": "https://github.com/didi/DoraemonKit",
        "tag": "1.1.7"
    },
    "platforms": {
        "ios": "8.0"
    },
    "default_subspecs": "Core",
    "prefix_header_contents": "#import "DoraemonDefine.h"",
    "dependencies": {
        "PNChart": [],
        "BSBacktraceLogger": [],
        "fishhook": [],
        "UITextView+Placeholder": []
    },
    "subspecs": [
        {
            "name": "Core",
            "source_files": "iOS/DoraemonKit/Src/Core/**/*{.h,.m}",
            "resource_bundles": {
                "DoraemonKit": "iOS/DoraemonKit/Resource/**/*"
            }
        },
        {
            "name": "WithLogger",
            "source_files": "iOS/DoraemonKit/Src/Logger/**/*{.h,.m}",
            "pod_target_xcconfig": {
                "GCC_PREPROCESSOR_DEFINITIONS": "$(inherited) DoraemonWithLogger"
            },
            "dependencies": {
                "DoraemonKit/Core": [],
                "CocoaLumberjack": []
            }
        },
        {
            "name": "WithGPS",
            "source_files": "iOS/DoraemonKit/Src/GPS/**/*{.h,.m}",
            "pod_target_xcconfig": {
                "GCC_PREPROCESSOR_DEFINITIONS": "$(inherited) DoraemonWithGPS"
            },
            "dependencies": {
                "DoraemonKit/Core": []
            }
        },
        {
            "name": "WithLoad",
            "source_files": "iOS/DoraemonKit/Src/MethodUseTime/**/*{.h,.m}",
            "pod_target_xcconfig": {
                "GCC_PREPROCESSOR_DEFINITIONS": "$(inherited) DoraemonWithLoad"
            },
            "dependencies": {
                "DoraemonKit/Core": []
            },
            "vendored_frameworks": "iOS/DoraemonKit/Framework/*.framework"
        }
    ]
}

Pin It on Pinterest

Share This