Aardvark
Aardvark 使创建可操作的错误报告变得非常简单。
Aardvark 由一组框架组成,提供不同的错误报告和记录组件。
- CoreAardvark - Aardvark 的核心结构,在应用扩展中安全运行。
- Aardvark - 构建错误报告的核心工具。
- AardvarkMailUI - 通过邮件编辑器发送错误报告的错误报告器实现。
- AardvarkLoggingUI - 用于在 iOS 应用中查看 Aardvark 记录的 UI 组件。
入门
要将 Aardvark 日志和错误报告设置好运行,仅需三个步骤。
1) 安装 Aardvark
将 AardvarkMailUI 框架添加为依赖项是使 Aardvark 运行起来的最简单方法。
CocoaPods
使用pod 'AardvarkMailUI'
Carthage
使用github "Square/Aardvark"
使用 Git Submodule
使用 git submodule add [email protected]:Square/Aardvark.git
手动检出子模块,将 Aardvark.xcodeproj 拖入您的项目中,并将 AardvarkMailUI 添加为构建依赖。
2) 通过单次方法调用设置电子邮件故障报告
最好在加载您的应用程序的 UI 时进行此操作。
在 Swift 中
Aardvark.addDefaultBugReportingGestureWithEmailBugReporter(withRecipient:)
在 Objective-C 中
[Aardvark addDefaultBugReportingGestureWithEmailBugReporterWithRecipient:]
log
替换 print
调用
3) 用 在 Swift 中,将 print
调用替换为 log
。在 Objective-C 中,将 NSLog
调用替换为 ARKLog
。
报告故障
完成上述操作后,您的用户可以通过进行两次手指长按手势来报告故障。这个手势会触发一个 UIAlert,询问用户出了什么问题。当用户输入此信息时,将生成一个包含附件的应用程序截图和包含最后 2000 条日志的文本文件的电子邮件故障报告。截图在 Aardvark 中创建和存储,不需要访问相机胶卷。
想查看设备上的日志吗?添加 AardvarkLoggingUI 框架作为依赖,并在屏幕上推送一个 ARKLogTableViewController 实例以查看您的日志。
性能
日志被分发给内部后台队列上的记录器,这将永远不会减慢您的应用程序。由日志存储观察到的日志将增量地附加到磁盘,而不是存储在内存中。
异常记录
要开启未捕获异常的记录,请调用 ARKEnableLogOnUncaughtException()
。当一个未捕获的异常发生时,堆栈跟踪将被记录到默认日志分发器。要在示例应用程序中测试此操作,请在屏幕上按住至少5秒钟。
异常记录后,它将被传播到任何现有的未捕获异常处理器。默认情况下,异常将被记录到默认日志分发器。要记录到不同的分发器,请调用 ARKEnableLogOnUncaughtExceptionToLogDistributor(...)
。您可以通过多次调用该方法来启用对多个日志分发器的记录。
自定义Aardvark
想要自定义如何提交错误报告?传递符合 ARKBugReporter 协议的自定义对象和所需的 UIGestureRecognizer
子类到 [Aardvark addBugReporter:triggeringGestureRecognizerClass:]
。您可以进一步通过修改返回的手势识别器来自定义错误报告的触发方式。
想要更改日志的格式?或者对不同功能使用不同的日志文件?或者将日志发送到第三方服务?请查看 日志文档。
想要使用Aardvark进行日志记录,但不想使用Aardvark的错误报告工具?将依赖项改为对Aardvark
的依赖,并跳过初学者指南中的第#2步。
要求
- Xcode 11.0 或更高版本
- iOS 12.0 或更高版本
- watchOS 4.0 或更高版本
贡献
我们很高兴您对Aardvark感兴趣,并且我们希望能够看到您如何发展它。在提交Pull Request之前,请阅读我们的贡献指南。
感谢,祝您使用愉快!