AardvarkMailUI 2.0.0

AardvarkMailUI 2.0.0

Nick EntinNick EntinLemont Washington 维护。



  • Square

Aardvark

CI Status Carthage Compatibility License Platform

Aardvark Version CoreAardvark Version AardvarkLoggingUI Version AardvarkMailUI Version

Aardvark 可以使创建可操作的错误报告变得非常简单。

Aardvark 由一组框架组成,提供不同的错误报告和记录组件。

  • CoreAardvark - Aardvark 的核心结构。在 app 扩展中安全运行。
  • Aardvark - 创建错误报告的核心工具。
  • AardvarkMailUI - 通过电子邮件编写器发送错误报告的错误报告器实现。
  • AardvarkLoggingUI - 用于在 iOS 应用中查看 Aardvark 记录的 UI 组件。

入门

将 Aardvark 记录和错误报告设置起来只需要三个步骤。

1) 安装 Aardvark

将 AardvarkMailUI 框架添加为依赖关系是启动 Aardvark 的最简单方法。

使用 CocoaPods

pod 'AardvarkMailUI'

使用 Carthage

github "Square/Aardvark"

使用 Git Submodules

使用 git submodule add [email protected]:Square/Aardvark.git 手动检出子模块,将 Aardvark.xcodeproj 拖到您的项目,并将 AardvarkMailUI 添加为构建依赖项。

2) 通过单个方法调用设置电子邮件错误报告

最好在加载应用程序的 UI 时进行此操作。

在 Swift 中

Aardvark.addDefaultBugReportingGestureWithEmailBugReporter(withRecipient:)

在 Objective-C 中

[Aardvark addDefaultBugReportingGestureWithEmailBugReporterWithRecipient:]

3) 将对 print 的调用替换为 log

在Swift中,将调用print的地方替换为log。在Objective-C中,将调用NSLog的地方替换为ARKLog

报告错误

执行上述操作后,用户可以通过双指长按手势来报告错误。这个手势会触发一个询问用户发生什么错误的UIAlert。当用户输入这个信息时,就会生成一个带附图和包含最后2000条日志的纯文本文件的错误邮件报告。截图是在Aardvark内创建和存储的,不需要访问相册。

Bug Report Flow

想在设备上查看日志吗?将AardvarkLoggingUI框架作为依赖项添加,并将ARKLogTableViewController的一个实例推送到屏幕上以查看日志。

性能

日志被分布到一个内部后台队列中的记录器,永远不会减慢您的应用的速度。日志存储器观察到的日志将递增地追加到磁盘,而不是存储在内存中。

异常记录

要开启未捕获异常的记录,请调用ARKEnableLogOnUncaughtException()。当发生未捕获的异常时,堆栈跟踪会被记录到默认日志分发器。在示例应用程序中测试此功能,请至少按住屏幕5秒钟。

一旦异常被记录,它将被传递到任何现有的未捕获异常处理器。默认情况下,异常将被记录到默认日志分发器。要记录到不同的分发器,请调用ARKEnableLogOnUncaughtExceptionToLogDistributor(...)。您可以多次调用此方法来启用向多个日志分发器记录。

自定义Aardvark

想要自定义错误报告的提交方式吗?传递服从ARKBugReporter协议的自定义对象和希望使用的UIGestureRecognizer子类到[Aardvark addBugReporter:triggeringGestureRecognizerClass:]。你可以通过修改返回的手势识别器进一步自定义错误的触发方式。

想要更改日志的格式?或者为不同功能使用不同的日志文件?或者将日志发送到第三方服务?请查看日志记录文档

想要使用Aardvark进行记录,但又不想使用Aardvark的错误报告工具?将依赖项改为Aardvark并跳过入门指南中的第2步。

扩展

  • AardvarkReveal提供用于生成包含Reveal文件的错误报告附件的组件,这对于调试UI问题非常有帮助。
  • AardvarkCrashReport提供用于生成包含崩溃报告的错误报告附件的组件,这些报告可以来自前一个应用的崩溃或显示每个线程当前状态的实时报告。

要求

  • Xcode 11.0 或更高版本
  • iOS 12.0 或更高版本
  • watchOS 4.0 或更高版本

参与贡献

欢迎您对Aardvark表示兴趣,我们很高兴看到您对它的未来寄予厚望。在提交Pull Request之前,请阅读我们的贡献指南

感谢您,祝您记录愉快!