Я только начал работать с Realm для ios. На панели инструментов mongoDB Atlas я использовал их образец набора данных и создал схему, которую я использовал в своем приложении ios, чтобы попытаться протестировать получение данных из базы данных. Позже я импортировал свой собственный набор данных и создал новую схему. Я удалил старые схемы из ios и заменил их своей собственной схемой данных. Проблема теперь в том, что когда я пытаюсь запустить ios, приложение выдает ошибку
Завершение работы приложения из-за неперехваченного исключения 'RLMException', причина: 'Предоставленная версия схемы 3 меньше последней установленной версии 4. '
Я нашел принятый ответ в этом вопросе и выполнил его. Как мне запустить миграцию до того, как приложение начнет запускать код?
вот мой AppDelegate
func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
// Inside your application(application:didFinishLaunchingWithOptions:)
let 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: 4,
// 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 < 4) {
migration.enumerateObjects(ofType: Item.className()) { oldObject, newObject in
// No-op.
// dynamic properties are defaulting the new column to true
// but the migration block is still needed
}
}
})
// Tell Realm to use this new configuration object for the default Realm
Realm.Configuration.defaultConfiguration = config
// Now that we've told Realm how to handle the schema change, opening the file
// will automatically perform the migration
do {
_ = try Realm()
} catch let _ as NSError {
// print error
}
return true
}
Я изменил свою версию схемы на 3 и 4, но по-прежнему получаю ту же ошибку? Как я могу это исправить ? любая помощь будет оценена