DBDebugToolkit 0.9.0

DBDebugToolkit 0.9.0

测试已测试
Lang语言 Obj-CObjective C
许可 MIT
发布最新发布2022年2月

Dariusz Bukowskigamada-de 维护。




DBDebugToolkit

Swift version Xcode - Build Version Carthage compatible Swift Package Manager compatible License Platform

DBDebugToolkit 是一个用 Objective-C 和 Swift 编写的调试库。旨在提供尽可能多的易于访问的工具,同时保持集成过程无缝。

特性

  • 性能
    • CPU 使用率(当前,最大,图表)
    • 内存使用率(当前,最大,图表)
    • 帧率(当前,最小,图表)
    • 显示当前 CPU 使用率、内存使用率和帧率的窗口,始终保持在屏幕顶部
    • 模拟内存警告
  • 用户界面
    • 显示所有视图框架
    • 减速动画
    • 显示屏幕上的触摸(用于录制和屏幕共享)
    • 在屏幕上显示可自定义的网格覆盖层
    • 自动布局跟踪
    • 当前视图描述
    • 视图控制器层次结构
    • 可用字体列表及预览
    • 显示 UIDebuggingInformationOverlay
  • 网络
    • 显示应用程序发送的所有请求的列表
    • 请求和响应预览
  • 资源
    • 文件系统:浏览和删除选定的文件
    • 用户默认设置:浏览、删除选定项和清除所有数据
    • 钥匙串:浏览、删除选定项和清除所有数据
    • 核心数据:浏览所有托管对象及其关系,并可进行排序和过滤选项
    • Cookie:浏览、删除选定 Cookie 和清除所有数据
  • 控制台
    • 在文本视图中显示控制台输出
    • 通过电子邮件发送控制台输出并与设备和系统信息一起发送
  • 模拟位置
  • 崩溃报告
    • 显示所有崩溃的列表
    • 包含详细资料、堆栈跟踪、控制台输出和屏幕截图的崩溃报告
    • 通过系统操作发送崩溃报告
  • 从菜单中修改自定义变量值
  • 向菜单中添加自定义操作
  • 打开应用程序设置
  • 清除数据的应用程序快捷项目
  • 显示版本号和构建号
  • 显示设备型号和 iOS 版本

示例

要运行示例项目,请克隆存储库,然后从 Example 目录中运行 pod install。示例项目是用 Objective-C 编写的。本README中的代码示例是用 Swift 3.0 编写的。

要求

DBDebugToolkit 需要 iOS 13.0 或更高版本。

使用方法

配置

DBDebugToolkit旨在提供尽可能多的实用调试工具。然而,第二个同样重要的目标是确保所有iOS项目的配置无缝。在AppDelegate中设置DBDebugToolkit是一个不错的选择,因为它可以使其尽可能快地启动。最简单的设置只包含一行代码

import DBDebugToolkit

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    DBDebugToolkit.setup()
    return true
}

配置完成后,只需摇动设备即可显示包含所有调试选项的菜单

阅读有关触发器的详细信息,了解如何自定义菜单显示。

触发器

触发器是告诉DBDebugToolkit显示菜单的对象。有以下3个预定义触发器

  • DBShakeTrigger - 对摇动设备做出反应。
  • DBTapTrigger - 对触摸屏幕做出反应。
  • DBLongPressTrigger - 对屏幕长按作出反应。

默认情况下,DBDebugToolkit 配置了 DBShakeTrigger。您也可以提供自己的触发器数组

import DBDebugToolkit

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    let tapTrigger = DBTapTrigger(numberOfTouchesRequired: 3)
    let longPressTrigger = DBLongPressTrigger(minimumPressDuration: 1.0)
    let shakeTrigger = DBShakeTrigger()
    DBDebugToolkit.setup(with: [tapTrigger, longPressTrigger, shakeTrigger])
    return true
}

这只是一些示例。DBTapTriggerDBLongPressTrigger 都有更多的自定义选项。

您还可以创建自己的触发器。为此,创建一个符合协议 DBDebugToolkitTrigger 的类。然后创建该类的实例并将其传递给设置方法。

特性

现在可以在以下位置找到特性和示例的完整列表: 特性

安装

CocoaPods

DBDebugToolkit 通过 CocoaPods 提供。要安装它,只需在 Podfile 中添加以下行

pod "DBDebugToolkit"

然而,本着提供一些功能,DBDebugToolkit 使用私有 API。使用它的代码是混淆的,以降低在 App Store 上拒绝应用的风险,但并不能保证足够。话虽如此,以下是安装 DBDebugToolkit 的更安全的方式

  • 仅添加到调试构建中

    现在可以指定特定 pod 的构建配置

    pod "DBDebugToolkit", :configurations => ['Debug']

    设置完成后,需要将所有使用 DBDebugToolkit 的代码放在预处理宏中

    #if DEBUG
        import DBDebugToolkit
    #endif
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        #if DEBUG
            DBDebugToolkit.setup()
        #endif
        return true
    }

    这种设置的缺点是,它不会将 DBDebugToolkit 包含在发送给测试者的构建中。

  • 为 App Store 发布创建单独的目标

    创建 App Store 发布的单独目标后,您的 podfile 可能可以这样定义

    def common_pods
      # Here are all the pods that will be used in both targets.
    end
    
    target 'YourApplication' do
        common_pods
    end
    
    target 'YourApplicationAppStore' do
        common_pods
        pod "DBDebugToolkit"
    end

    然后您需要在代码中区分目标。为此,您可以在 App Store 目标构建配置中添加一个自定义标志。假设您将该标志命名为 APPSTORE,则所有使用 DBDebugToolkit 的代码都将放置在预处理宏中

    #if !(APPSTORE)
        import DBDebugToolkit
    #endif
    
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        #if !(APPSTORE)
            DBDebugToolkit.setup()
        #endif
        return true
    }

为 App Store 发布创建单独目标的方式将帮助您防止将包含 DBDebugToolkit 中私有 API 调用的构建发送到 App Store 审查。然而,您必须记住在开发期间将所有文件添加到两个目标中。您将不得不决定哪种方法最适合您的项目。也许在每次 App Store 发布之前手动从 podfile 中删除 DBDebugToolkit 会更容易一些。

Carthage

要将DBDebugToolkit集成到您的Xcode项目中并使用Carthage,请在您的Cartfile中指定它。

github "dbukowski/DBDebugToolkit" ~> 0.7.0

运行carthage update来构建框架,并将构建好的DBDebugToolkit.framework拖到您的Xcode项目中。

作者

由Gamada-d维护,[email protected]

由Dariusz Bukowski创建,[email protected]

许可协议

DBDebugToolkit在MIT许可下可用。更多信息请参阅LICENSE文件。