CrashlyticsRecorder
Crashlytics 平台不能作为传递依赖项使用,这意味着您无法在将包含在使用 Crashlytics 的应用程序中的框架中使用它。此库使用依赖注入来创建一个围绕 Crashlytics
和 Answers
类的包装,以便在其他框架中使用。
功能
- 在崩溃报告中设置自定义键
- 记录非致命错误
- 使用自定义键记录 Swift
ErrorType
错误 - 使用
CLS_LOG
记录日志 - 使用 Answers 记录事件
- 记录自定义异常的日志
用法
在框架中
CrashlyticsRecorder
和 AnswersRecorder
分别是 Crashlytics
和 Answers
的包装器。要使用这些类,请将此库作为您框架的依赖项。如果您使用的是 CocoaPods,则可以在 Podfile 和 podspec 中添加以下行来完成此操作。
Podfile
pod 'CrashlyticsRecorder'
podspec
s.dependency 'CrashlyticsRecorder'
您可以在您的框架中使用 CrashlyticsRecorder.sharedInstance
和 AnswersRecorder.sharedInstance
。
在应用程序中
为了使 CrashlyticsRecorder
在您应用程序包含的框架中正常运行,您需要执行以下步骤。
- 将
CrashlyticsAdapter.swift
文件包含在您的应用程序目标中。或者,您可以将以下代码复制到您的AppDelegate
或应用程序目标中的任何位置。
import Crashlytics
import CrashlyticsRecorder
extension Crashlytics: CrashlyticsProtocol {
public func log(format: String, args: CVaListPointer) {
#if DEBUG
CLSNSLogv(format, args)
#else
CLSLogv(format, args)
#endif
}
}
extension Answers: AnswersProtocol { }
- 在设置
Crashlytics
之后,在您的AppDelegate
中创建CrashlyticsRecorder
和AnswersRecorder
的共享实例。
public func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
Fabric.with([Crashlytics()])
CrashlyticsRecorder.createSharedInstance(crashlytics: Crashlytics.sharedInstance())
AnswersRecorder.createSharedInstance(answers: Answers.self)
}
需求
您必须有一个 Fabric
账户才能在您的应用程序中使用 Crashlytics
和 CrashlyticsRecorder
。
作者
安东尼·米勒,[email protected]
许可
CrashlyticsRecorder 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。