Ios 仅在设备上发生Ream快速迁移崩溃
我必须通过在其中一个对象上添加一个字段来更新我的领域模式 以下是迁移代码:Ios 仅在设备上发生Ream快速迁移崩溃,ios,swift,realm,realm-migration,Ios,Swift,Realm,Realm Migration,我必须通过在其中一个对象上添加一个字段来更新我的领域模式 以下是迁移代码: func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { let config = Realm.Configuration( schemaVersion: 4
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安装更新的应用程序时,您是否看到迁移失败的原因?每次将应用程序分发到试飞或AppStore时 您应该向方案中添加一个,例如,如果您的应用程序是最近生成的 在测试飞行中,架构号为4。如果您对领域类有任何更改,则新版本应为5。但是,如果您在本地尝试进行测试,则只需删除应用程序并通过Xcode重新安装即可
请看下面的图片 在设备上运行时,尝试向schemaVersion 5添加1,尝试增加版本。可能在一个设备上已经超过4个。不幸的是,这不是原因。应用程序已在架构版本为0的设备上。通过xCode更新是可以的;从TestFlight崩溃中更新它。发送到TestFlight或TestFairy的版本与从xCode工作的版本相同。唯一的区别是我存档并上传了它。用更高的方案编号存档新方案,然后重试:我以前的方案编号是0,我可以看到它,因为我在日志上打印了它。不管怎样,我按照你的建议将新方案编号从4改为5,并且不再出现崩溃。这很奇怪,但是问题已经解决了,我非常感谢你坚持这个想法:没有问题,我一直在那里,这就是为什么