如何在iOS应用程序中以编程方式将只读Realm文件升级到最新版本



我最近将iOS应用程序中的Realm更新为10.1.2。但后来我崩溃了,上面写着:

致命错误:"try!"表达式意外引发错误:"必须允许升级Realm文件格式才能继续"。。Realm文件在RO模式下打开之前需要升级路径:。。。

remote.realm文件是用户存储在远程服务器上的数据,该数据可下载到iOS应用程序并用于各种用途。但那个远程文件在3.x上,而我的iOS应用程序现在正在使用10.x

我知道在Realm Studio中打开Realm可以执行升级,但我如何从我的Cocoa应用程序中升级/打开只读Realm文件并将其转换为新版本?

如果您正在下载文件,但没有将其重新上传到某个位置或在进程之间共享,您可能会发现错误,在不使用readonly标志的情况下打开它以执行升级,然后将其重新打开为readonly并返回给调用者。我对swift API不是很熟悉,但在伪代码中,它看起来像:

func openRealm(config: Realm.Configuration) -> Realm {
do {
return try Realm(config)
}
catch migrationException {
config.readOnly = false
try! Realm(config)
config.readOnly = true
return try! Realm(config)
}
}

最新更新