AardvarkCrashReport 4.0.0

AardvarkCrashReport 4.0.0

Nick EntinSeth FriedmanNick Entin 维护。



 
依赖于
Aardvark~> 5.0
PLCrashReporter~> 1.10
 

  • Square

AardvarkCrashReport

CI Status Version License Platform

AardvarkCrashReport 是 Aardvark 的扩展,它使得在错误报告中提供有关崩溃的高质量数据变得简单易行。

安装

CocoaPods

要使用 CocoaPods 安装 AardvarkCrashReport,只需在 Podfile 中添加以下行

pod 'AardvarkCrashReport'

开始使用

AardvarkCrashReport是在PLCrashReporter之上构建的。如果您还没有在应用中设置PLCrashReporter,开始很简单。当您的应用启动时,只需创建并存储一个PLCrashReporter,然后启用它以开始监视崩溃。

self.crashReporter = PLCrashReporter(configuration: .defaultConfiguration())
try? self.crashReporter?.enableAndReturnError()

AardvarkCrashReport提供了两种从崩溃报告器收集数据的方式:一种用于收集先前应用启动中发生的崩溃,另一种用于收集一个“实时”报告(应用当前状态的描述)。

报告崩溃

当您的界面加载时,调用CrashReportAttachmentGeneratorattachmentForPendingCrashReport(from:)方法来检查是否有来自先前启动的崩溃报告。如果有,该方法将返回包含崩溃报告的bug报告附件。如果没有,它将返回nil

if let attachment = CrashReportAttachmentGenerator.attachmentForPendingCrashReport(from: crashReporter) {
    // Show a bug report prompt with the `attachment` included.
}

请在演示应用的AppDelegate中查看示例,了解如何显示bug报告提示。

生成实时报告

要生成包含实时报告的附件,调用CrashReportAttachmentGeneratorattachmentForLiveReport(from:)方法。

let attachment = CrashReportAttachmentGenerator.attachmentForLiveReport(from: crashReporter)

请查看LiveBugReporterAttachmentDelegate示例,了解如何在附件委托中使用它ARKEmailBugReporter

演示应用

AardvarkCrashReport 包含一个演示应用,展示了如何使用框架。要运行演示应用

  1. 克隆仓库。
  2. 打开 Example 目录。
  3. 运行 bundle exec pod install
  4. 打开 AardvarkCrashReportDemo.xcworkspace
  5. AardvarkCrashReportDemo 启用代码签名以使用您的开发团队。
  6. 在您的设备上运行 AardvarkCrashReportDemo 模式。

请注意,演示应用使用基于电子邮件的错误报告器,因此无法从模拟器提交报告,因为模拟器不包含邮件应用。当附加调试器时,错误报告器也会自动禁用,因此您需要在未附加调试器的情况下在设备上运行应用以测试流程。

需求

  • Xcode 14.0 或更高版本
  • iOS 14.0 或更高版本

贡献

我们很高兴你对 AardvarkCrashReport 感兴趣,并且我们非常乐意看到你将它引向何方。请在提交拉取请求之前阅读我们的 贡献指南

许可协议

Copyright 2024 Block, Inc.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

   http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.