Сбой миграции Ream Swift только на устройстве - PullRequest
0 голосов
/ 07 февраля 2019

Мне нужно обновить схему своей области, добавив поле для одного из объектов.

Вот код миграции:

    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 Ответ

0 голосов
/ 07 февраля 2019

Каждый раз, когда вы распространяете приложение в Test Flight или в AppStore ,

Вы должны добавить его в схему, например, если ваше приложение недавно собралось
имеет номер схемы 4 в тестовом полете , новая сборка должна быть 5, если у вас есть какие-либо изменения в классах областей, однако, если вы пытаетесь локально протестировать что-то, вы можете простоудалите приложение и переустановите его с помощью Xcode.

Ознакомьтесь с документацией .

...