gpt4 book ai didi

ios - persistenceEnabled 在模拟器中工作,但在设备上引发 NSInternalInconsistencyException

转载 作者:行者123 更新时间:2023-11-28 15:54:26 25 4
gpt4 key购买 nike

我通过将 persistenceEnable 设置为 true 在我的应用程序中启用了 Firebase 的磁盘持久性

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
FIRApp.configure()
FIRDatabase.database().persistenceEnabled = true
return true
}

当我在 xcode 的 iPhone 模拟器中运行该应用程序时,一切都按预期工作,但是当我在设备上运行该应用程序时,我得到一个 NSInternalInconsistencyException。

*** Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'Unrecognized database version: '

*** First throw call stack:

(0x18e68d1b8 0x18d0c455c 0x18e68d100 0x10014323c 0x100143124 0x100154434 0x100de9258 0x100de9218 0x100df6aec 0x100decce0 0x100df7088 0x100df8e2c 0x100df8b78 0x18d71f2a0 0x18d71ed8c)

libc++abi.dylib: terminating with uncaught exception of type NSException

我真的不知道发生了什么。看起来在附加“观察”监听器时抛出了异常

 let ref = FIRDatabase.database().reference()
ref.child("usersEvents").child(userID!).observe(.value, with: { (snapshot) in
...

如果我评论persistenceEnabled = true

 func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
FIRApp.configure()
//FIRDatabase.database().persistenceEnabled = true
return true
}

该应用程序可以在我的设备上运行,但当然我失去了离线功能。

我也曾尝试移动 FIRDatabase.database().persistenceEnabled = true 但每次我使用它时,应用程序在 iPhone 上执行时都会崩溃。

感谢和问候。

最佳答案

TLDR;我从我的设备中删除了该应用程序并让 xCode 安装它的新副本并解决了问题。

完整评论:在尝试在其他项目中重现该问题几个小时但没有成功后,我找到了解决方案。

错误消息不是 100% 清楚,但提供了很好的线索 Unrecognized database version:

由于应用仅在 persistenceEnabled 设置为 true 时在我的设备上崩溃,我认为问题一定与本地数据库缓存有关。

我从我的设备中删除了该应用程序并让 xCode 安装它的新副本,这解决了问题。

本地 Firebase 缓存肯定已损坏,每次 Firebase 的 sdk 尝试访问它时,我的应用程序都会崩溃。

我希望这可以帮助那些日后面临同样问题的人。

关于ios - persistenceEnabled 在模拟器中工作,但在设备上引发 NSInternalInconsistencyException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41967025/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com