核心数据没有icloud同步...再次
Core data no icloud sync... again
大约 2 年前,我在这里 () 询问我在 iCloud 上同步核心数据时遇到的问题。问题已解决,将架构部署到生产环境。
到目前为止没有问题,但几个月前我注意到我的应用程序有时同步,有时不同步。
现在的问题是,完全不同步,在模拟器上运行正常,我打开 2 个设备,它们同步没有问题。
上线(从 AppStore 下载应用程序),使用 2 iPhone 秒,同一个 iCloud 帐户,99% 的时间不同步。
例如:
- 从两个 iPhone
中删除该应用程序
- 从 AppStore 下载应用程序
- 应用程序加载已存储在 iCloud 上的记录,我可以在两个 iPhones
上看到相同的数据
- 在iPhoneA上添加一条新记录,iPhoneB收到新数据...ok
- 在任何 iPhone 上添加第二条记录,从这里开始,none
新数据已同步
- 为了查看步骤 4 中的数据是否保存在 iCloud 上,应用程序再次从两者中删除 phone 并重新开始,在步骤 3 中,数据已加载但步骤 4 中的新记录丢失.
有什么想法吗?
AppDelegate.swift
lazy var persistentContainer: NSPersistentCloudKitContainer = {
let container = NSPersistentCloudKitContainer(name: "whatever")
container.loadPersistentStores(completionHandler: { (storeDescription, error) in
if let error = error as NSError? {
fatalError("Unresolved error \(error), \(error.userInfo)")
}
})
container.viewContext.automaticallyMergesChangesFromParent = true
container.viewContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
return container
}()
func saveContext () {
let context = persistentContainer.viewContext
if context.hasChanges {
do {
try context.save()
} catch {
let nserror = error as NSError
fatalError("Unresolved error \(nserror), \(nserror.userInfo)")
}
}
}
发现问题...
我不小心在数据模型中创建了第二个配置,删除它解决了问题,iCloud 再次同步没有任何问题。
大约 2 年前,我在这里 (
到目前为止没有问题,但几个月前我注意到我的应用程序有时同步,有时不同步。
现在的问题是,完全不同步,在模拟器上运行正常,我打开 2 个设备,它们同步没有问题。
上线(从 AppStore 下载应用程序),使用 2 iPhone 秒,同一个 iCloud 帐户,99% 的时间不同步。
例如:
- 从两个 iPhone 中删除该应用程序
- 从 AppStore 下载应用程序
- 应用程序加载已存储在 iCloud 上的记录,我可以在两个 iPhones 上看到相同的数据
- 在iPhoneA上添加一条新记录,iPhoneB收到新数据...ok
- 在任何 iPhone 上添加第二条记录,从这里开始,none 新数据已同步
- 为了查看步骤 4 中的数据是否保存在 iCloud 上,应用程序再次从两者中删除 phone 并重新开始,在步骤 3 中,数据已加载但步骤 4 中的新记录丢失.
有什么想法吗?
AppDelegate.swift
lazy var persistentContainer: NSPersistentCloudKitContainer = {
let container = NSPersistentCloudKitContainer(name: "whatever")
container.loadPersistentStores(completionHandler: { (storeDescription, error) in
if let error = error as NSError? {
fatalError("Unresolved error \(error), \(error.userInfo)")
}
})
container.viewContext.automaticallyMergesChangesFromParent = true
container.viewContext.mergePolicy = NSMergeByPropertyObjectTrumpMergePolicy
return container
}()
func saveContext () {
let context = persistentContainer.viewContext
if context.hasChanges {
do {
try context.save()
} catch {
let nserror = error as NSError
fatalError("Unresolved error \(nserror), \(nserror.userInfo)")
}
}
}
发现问题...
我不小心在数据模型中创建了第二个配置,删除它解决了问题,iCloud 再次同步没有任何问题。