如何在不打开领域文件的情况下检查我的领域架构版本?

我们面临的问题是我们无法使用新的架构版本进行迁移,因此我们希望清除所有领域数据,并创建一个新的(对于架构版本低于此新编号的所有用户)。

但我无法找到一种方法让我知道这个数字,除非只是在迁移块中。

有没有办法知道这个架构版本在哪里?

从技术上讲,您根本无法在不访问Realm文件的情况下检查架构版本,但是您不需要完全访问权限并指定匹配的架构来只读取架构版本。 我们有function允许这一点。

从Objective-C,您可以使用类方法:
+[RLMRealm schemaVersionAtPath:error:]

从Realm Swift,您可以使用free函数: schemaVersionAtPath(_:encryptionKey:error:)

我在这里找到了这个答案

 let configCheck = Realm.Configuration(); do { let fileUrlIs = try schemaVersionAtURL(configCheck.fileURL!) print("schema version \(fileUrlIs)") } catch { print(error) }