我的计划是购买组件2(利用速度/效率等),但我试图确保我将能够让它工作(在一个测试Swift项目)。为了做到这一点,我正在用v1进行实验。
使用Swift的简单同步作为指导,我已经将组件集成到我的xcode项目中。
当我删除应用程序,然后重新添加它,抽取,然后同步从iCloud恢复正确的数据时,来自应用程序的数据似乎被存储在iCloud中。我的问题是,用第二个设备(登录到同一个apple/iCloud帐户)进行测试,对自己的数据做同样的事情。来自这两个设备的数据从未合并过。然而,在每个设备上创建的数据在重新加载应用程序后会恢复到自己的设备上。
有人知道这是怎么回事吗?
我想知道问题是否可能是我正在生成的商店网址。现在很多核心数据堆栈都是在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")发布于 2017-10-26 08:53:24
我能想象的唯一方法是,如果您使用的是不同的iCloud帐户,或者您对每个设备都有不同的集成标识符。
还请注意,iCloud文档共享可能很顽固。仅仅因为文件在本地被添加到容器中,并不意味着它们将立即传输到另一个设备。(CloudKit后端在这方面要好得多,但只在E2中更好。)
如果您正在使用模拟器进行测试,使用Debug > iCloud > Trigger Sync in Simulator可能会有所帮助。
https://stackoverflow.com/questions/46926548
复制相似问题