在Swift中对Realm使用deleteRealmIfMigrationNeeded时崩溃

ibps3vxo  于 2023-02-03  发布在  Swift
关注(0)|答案(2)|浏览(208)

我在didFinishLaunchingWithOptions中执行以下操作:

let config = Realm.Configuration(
  schemaVersion: 0,
  deleteRealmIfMigrationNeeded: true
)
Realm.Configuration.defaultConfiguration = config

let realm = try! Realm()

基本上,在开发过程中,我不想担心迁移,只想在模式发生变化时清除数据库,我的理解是这正是deleteRealmIfMigrationNeeded的用途。
问题是,在尝试初始化Realm时,它有时会崩溃,并显示以下错误
致命错误:"try!"表达式意外引发错误:错误代码= 5 "在路径'/用户/摇滚/库/开发人员/核心模拟器/设备/D626848E-14D5 - 47AC-8FFB-9B67D024DEF1/数据/容器/数据/应用程序/6F71103C-9E10 - 4131-BED4-D96445FABA52/文档/默认.领域'的目录不存在。"
默认的. realm文件被删除,可能是因为deleteRealmIfMigrationNeeded,但是当使用最后一行初始化Realm时,没有重新创建(正如我所期望的)。
有趣的是,如果我手动删除default.realm.lock,然后重新启动应用程序,它会工作。
我做错了吗?这是一个bug吗?(我用的是Realm Swift 2.4.1)

ctehm74n

ctehm74n1#

我刚刚遇到了同样的问题,在我的情况下,解决方案是关闭领域浏览器,如果你有它打开。
干杯!

nsc4cvqm

nsc4cvqm2#

我发现在设置领域时关闭加密将允许您同时打开领域浏览器。

相关问题