我正在开发一个使用 Core Data 和 iCloud 在多个 iPad 之间同步数据的应用程序。这一切都很好,我可以将数据添加到每个 iPad,它会在它们之间同步。
我有一个预先填充了国家列表的 Core Data sqlite 文件,我想在应用程序首次运行时将其复制到文档区域。我已经完成了这项工作,但更改了我的 persistentStoreCoordinator 实现以测试是否支持 iCloud 以及其他一些小的更改。
但是现在,当我检查 sqlite 文件是否存在并复制预填充的 sqlite 文件时,如果不存在,我会收到以下错误
[psc addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:[NSURL fileURLWithPath:iCloudData] options:options error:&persistentStoreError];
NSPersistentStoreCoordinator addPersistentStoreWithType:configuration:URL:options:error:: CoreData: Ubiquity: An error occurred while setting up the ubiquity integration: Error Domain=NSCocoaErrorDomain Code=134316 "The ubiquity container does not seem to match this persistent store, it is possible this是由切换到不同的 iCloud 帐户或完全退出 iCloud 引起的。应使用只读属性重新打开商店或从 iCloud 同步中永久删除。UserInfo=0x1cb590 {storeUUID=31381598-EAFA-4550-9B96-F501800974D5, containerUUID=E3A8DC7D-41FD-405A-8D8A-C06C8B467CA2, NSLocalizedDescription=ubiquity 容器似乎与此持久存储不匹配,这可能是由切换引起的到不同的 iCloud 帐户,或完全退出 iCloud。
这是因为 iCloud 中仍然有对不同 Core Data sqlite 文件或事务日志文件的引用吗?如果是这样,我将如何删除它们?