尝试Realm.open({schema: [Schema]})在iOS设备/模拟器上的新版本/安装上执行此错误。一切都在Android应用程序上运行良好,因为它以前从未通过迁移进行过更改schemaVersions。
我的这个错误的理解是,在设备上的文件境界的schemaVersion是从默认不同schemaVersion: 0的Realm.open({schema: [Schema]})。我有另一个理论是,我的应用程序正在尝试在同一文件上现有的已打开Realm配置期间打开Realm配置。
为了解决我的第一个理论,我一直在努力的境界文件重置与Realm.clearTestState()和Realm.deleteFile({schema: [Schema]})无济于事。第二,我将并发Realm.open()实例放入setTimeout()其中,以便一次仅打开一个Realm实例。
我还有其他方法可以尝试重置Realm文件,以便设备上的Realm文件和配置都相同。
事实证明,我并不是在每个实例中都使用完全相同的架构来打开Realm。这意味着我正在从realm.js文件中导出多个对象模式,并分别而不是整体打开它们,我认为这是正确的方法。
所以基本上,我正在这样做...
Realm.open({schema: [object1, object2, object3]})
Realm.open({schema: [object4, object5]})
Run Code Online (Sandbox Code Playgroud)
当我应该这样做时:
const Schema = [object1, object2, object3, object4, object5];
Realm.open({schema: Schema});
Run Code Online (Sandbox Code Playgroud)
希望这对其他遇到此问题的人有所帮助,因为我在Github和StackOverflow上访问过其他所有类似的错误报告,并且没有碰到此提示。
| 归档时间: |
|
| 查看次数: |
1542 次 |
| 最近记录: |