我已经在我的应用程序中安装了 Fabric,并通过 AppDelegate 中的一个简单的 Fabric.with([Crashlytics.self])
调用启用了 Crashlytics。一切都很好,直到我进入 Realm。我有一个非常简单的函数;
class func listObjects() {
let realm = try? Realm()
if let realm = realm {
let objSet = realm.objects(TestObject.self)
print("Retrieved \(objSet.count) objects")
}
}
调用该函数实际上工作正常,但我收到一个奇怪的警告;
[Crashlytics:Crash] Warning: NSUncaughtExceptionHandler is '_ZZ34RLMInstallUncaughtExceptionHandlervEN3$_08__invokeEP11NSException' in '<...>/Frameworks/Realm.framework/Realm'
有没有人遇到过这个?
最佳答案
我猜这是因为 Crashlytics 检查未捕获的异常处理程序是否被覆盖,因为它依赖于它本身,但它通常被滥用于危险性较低的解决方案。 🐉
Realm 使用它是有充分理由的:我们需要拆除打开的写入事务。在我们这样做的同时,我们仍然确保将先前配置的异常处理程序调用为 you can see here .因此 Crashlytics 不会失去报告应用中任何异常的能力。
关于ios - 将 Realm 与 Crashlytics 结合使用时的 NSUncaughtExceptionHandler,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38173145/