Bugsnatch 1.0.0

Bugsnatch 1.0.0

Damjan DaboDomagoj Hustnjak 维护。



Bugsnatch 1.0.0

  • 作者
  • Damjan Dabo

Bugsnatch

iOS Version Xcode Version Swift Version Version License Platform

Bugsnatch

Bugsnatch是一个轻量级的用于iOS的bug报告库,由Swift编写。它通过收集应用程序和设备信息来创建bug报告模板。它可以通过摇动手势或截屏来触发。

它支持通过电子邮件或通过Productive工具来报告bug。

特性

  • 收集应用程序和设备信息
  • 将截图附加到电子邮件
  • 有两种变化的版本
    • 电子邮件
    • Productive
  • 完全可配置
    • 字符串定制
    • 选择摇动手势或截屏作为触发器
    • 添加自定义触发器
    • 动态添加额外的调试信息

配置

对于电子邮件版

  • AppDelegate中进行配置
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    let bugsnatchConfig = BugsnatchConfig(
        trigger: ScreenshotTrigger(),
        triggerActionConfig: EmailConfig(),
        extraDebugInfoDelegate: self)
    Bugsnatch.shared.setup(config: bugsnatchConfig)

    return true
}
  • 支持额外的调试信息
extension AppDelegate: BugsnatchExtraDebugInfoDelegate {

    var extraDebugInfo: String? {
        return Date().debugDescription // example dynamic info
    }
}
  • 在iPhone上,需要安装原生邮件应用并链接一个账户。
  • 如果使用Gmail:在iPhone上,进入设置 -> 密码与账户 -> Gmail并启用邮件。

针对生产版本的

  • AppDelegate中进行配置
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {

    // can be found in Productive URL, e.g. https://app.productive.io/someOrganizationName/projects/12345
    let organizationName = "someOrganizationName"
    let projectId = 12345

    let productiveConfig = ProductiveConfig(organizationId: organizationName, projectId: projectId)
    let bugsnatchConfig = BugsnatchConfig(
        trigger: ScreenshotTrigger(),
        triggerActionConfig: productiveConfig)
    Bugsnatch.shared.setup(config: bugsnatchConfig)

    return true
}
  • NSCameraUsageDescription添加到Info.plist中,以便在WebView中尝试将新照片附加到生产任务时,应用程序不会崩溃。

添加自定义触发器

为触发Bugsnatch创建自己的触发器是简单的

  1. 遵循Triggerable协议
  2. TriggerDelegate上调用didTrigger()

额外设置

  • 当使用ShakeGestureTrigger时,在设备上保存屏幕截图,请将NSPhotoLibraryAddUsageDescription添加到Info.plist中。

示例项目

要运行示例项目,请首先克隆存储库,然后从示例目录运行pod install。示例项目配置为电子邮件版本。

需求

  • iOS 9.0+
  • Xcode 10.2+
  • Swift 5+

安装

Bugsnatch可通过CocoaPods获取。要安装它,只需在您的Podfile中添加以下行即可

  • 针对电子邮件版本
pod 'Bugsnatch/Email'
  • 针对生产版本
pod 'Bugsnatch/Productive'

作者

达曼·达博,[邮箱地址捞出]

Infinum 维护

Infinum

许可协议

Bugsnatch 可在 MIT 许可协议下使用。有关更多信息,请参阅 LICENSE 文件。

  • 版权所有 (c) 2019 萨格勒布应用科学大学 (TVZ)
  • 版权所有 (c) 2019 达曼·达博
  • 版权所有 (c) 2019 Infinum