ios - 将 Realm 与 Crashlytics 结合使用时的 NSUncaughtExceptionHandler

标签 ios swift realm

我已经在我的应用程序中安装了 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/

相关文章:

ios - Swift,如何告诉 Controller 另一个 Controller 是它的委托(delegate)

ios - Swift 中的自定义表格 View 单元格,没有 Storyboard

ios - Realm +地幔: how to avoid multiple inheritance duplication when integrating both frameworks?

iOS 8 Today Widget 显示空白几秒钟

iphone - pushViewController 在 iOS 5 上不起作用(在 iOS 6 上正常)

ios - 将 Facebook 连接到 Swift 4 中的应用委托(delegate)

基于 Swift Admob 奖励的视频广告集成和测试

swift - 检查给定的元类型是否为枚举

ios - Realm swift : Realm Build Errors After Linking

android - Realm - 将对象插入到特定位置