swift Realm DB for iOS引发架构不匹配错误,提供的架构版本84小于上次设置的版本86

1l5u6lss  于 2023-09-30  发布在  Swift
关注(0)|答案(1)|浏览(78)

我最近对我的项目做了一个Pod更新,从那以后我就面临着Realm的问题。代码如下,

MyNetworkManager.sharedNetworkManager.performNetworkOperation(url: MyEndpoint().homepage(), httpmethod: .get, parameters: requestDict) { response in
        let realm = try! Realm()
        try! realm.write {
            let JSON = response.result.value as AnyObject
            realm.create(HomePageData.self, value: JSON, update: true)
        }

显示的错误如下,

Thread 1: Fatal error: 'try!' expression unexpectedly raised an error: 
    Error Domain=io.realm Code=1 "Provided schema version 84 is less than last set 
    version 86." UserInfo={NSLocalizedDescription=Provided schema version 84 is 
    less than last set version 86., Error Code=1}

我读了关于同一问题的其他答案,但没有发现任何类似的东西。我是新来的境界一般,请让我知道什么是最好的方法来解决这个问题。
项目详情:
1.语言- Swift 3和Objective C部分

  1. Realm for Swift用于数据库
  2. Xcode版本-9.2
f0brbegy

f0brbegy1#

您正在新版本上安装应用程序旧版本(降级)
这就是导致此问题的原因,请尝试迁移数据库

var config = Realm.Configuration(
                // Set the new schema version. This must be greater than the previously used
                // version (if you've never set a schema version before, the version is 0).
                schemaVersion: 87,

                // Set the block which will be called automatically when opening a Realm with
                // a schema version lower than the one set above
                migrationBlock: { migration, oldSchemaVersion in
                    // We haven’t migrated anything yet, so oldSchemaVersion == 0
                    if (oldSchemaVersion < 86) {
                        // Nothing to do!
                        // Realm will automatically detect new properties and removed properties
                        // And will update the schema on disk automatically
                    }
            })

            // Tell Realm to use this new configuration object for the default Realm
            Realm.Configuration.defaultConfiguration = config

相关问题