我的计划是购买 Ensembles 2(以利用速度/效率等),但我试图确保我能够首先让它工作(在测试 Swift 项目中)。为此,我正在尝试使用 v1。
使用 Simple Sync with Swift 作为指南,我已将 ensemble 合并到我的 xcode 项目中。
来自应用程序的数据似乎确实存储在 iCloud 中,因为当我删除应用程序然后重新添加它时,提取然后同步确实从 iCloud 恢复了正确的数据。我的麻烦是使用第二台设备(登录到同一个苹果/iCloud 帐户)进行测试对自己的数据做同样的事情。来自 2 个设备的数据永远不会合并。然而,在每台设备上创建的数据在重新加载应用程序后会恢复到自己的设备上。
有谁知道这怎么可能?
我想知道问题是否可能是我正在生成的商店网址。许多核心数据堆栈设置现在在 Swift 3+ (NSPersistentContainer) 中自动完成,因此这些东西不需要由用户生成。这是我在设置我的集合时如何生成商店 url 和模型 url 的变量:
var storeDirectoryURL: URL {
return try! FileManager.default.url(for: .applicationSupportDirectory, in: .userDomainMask, appropriateFor: nil, create: true)
}
var storeURL: URL {
return storeDirectoryURL.appendingPathComponent("VsSyncTest.sqlite")
}
// Setup Ensemble
let modelURL = Bundle.main.url(forResource: "VsSyncTest", withExtension: "momd")