Сбой миграции Ream Swift только на устройстве
Я должен обновить мою схему царства, добавив поле на один из объектов.
Вот код миграции:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
let config = Realm.Configuration(
schemaVersion: 4,
migrationBlock: { migration, oldSchemaVersion in
if (oldSchemaVersion < 4) {
print("Updating Realm schema...")
// Nothing to do!
}
})
Realm.Configuration.defaultConfiguration = config
let realm = try! Realm()
// ... rest of code
}
- Все нормально при работе на симуляторе
- Это нормально при запуске на устройстве из xCode
Но если я установлю приложение из TestFairy или TestFlight, приложение вылетает сразу при запуске. Когда я удаляю миграцию, все в порядке, поэтому миграция вызывает проблему.
Символизация отчета о сбое не помогает, сбой происходит при запуске didFinishLaunchingWithOptions.
Пробовал различные изменения параметров экспорта (битовый код,...), но тот же результат.
Видите ли вы причину, по которой миграция может завершиться неудачно, если обновленное приложение не установлено из xCode?
1 ответ
Каждый раз, когда вы распространяете приложение в Test Flight или в AppStore,
Вы должны добавить один к схеме, например, если ваше приложение недавно собралось
имеет номер схемы 4
на испытательном полете новая сборка должна быть 5
если у вас есть какие-либо изменения в классах областей, однако, если вы пытаетесь проверить локально, вы можете просто удалить приложение и переустановить его с помощью Xcode
,
Посмотрите на документацию.