使用Core Data和iCloud时出现PFUbiquity错误

时间:2014-12-06 09:37:54

标签: core-data ios8 icloud

我正在使用iCloud同步我的Core Data商店。这很好用。我刚刚注意到,当我启动应用程序时,我收到以下错误消息。这是正常的吗?我能做些什么来阻止它吗?

由于

2014-12-06 10:06:37.337 -[PFUbiquitySwitchboardEntryMetadata setUseLocalStorage:](808): CoreData: Ubiquity:  nobody~sim352B6DF3-0975-5C4B-B561-086A3032D6EA:ContentKeyName
Using local storage: 1
2014-12-06 10:06:37.382 __60-[PFUbiquitySetupAssistant canReadFromUbiquityRootLocation:]_block_invoke682(1476): CoreData: Ubiquity:  Attempting to download Peers hit a serious error for peers to download Error Domain=BRCloudDocsErrorDomain Code=5 "The operation couldn’t be completed. (BRCloudDocsErrorDomain error 5 - No document at URL)" UserInfo=0x7ff77ac9b110 {NSDescription=No document at URL, NSFilePath=/Users/dev/Library/Developer/CoreSimulator/Devices/0AC7A779-9C6C-4A6C-91C5-D1973CE278D9/data/Library/Mobile Documents/iCloud~app~container/Data/.DS_Store, NSUnderlyingError=0x7ff77ac990d0 "The operation couldn’t be completed. No such file or directory"} with userInfo {
    NSDescription = "No document at URL";
    NSFilePath = "/Users/dev/Library/Developer/CoreSimulator/Devices/0AC7A779-9C6C-4A6C-91C5-D1973CE278D9/data/Library/Mobile Documents/iCloud~app~container/Data/.DS_Store";
    NSUnderlyingError = "Error Domain=NSPOSIXErrorDomain Code=2 \"The operation couldn\U2019t be completed. No such file or directory\" UserInfo=0x7ff77ac9bee0 {NSDescription=No such file or directory}";
}
2014-12-06 10:06:37.409 -[PFUbiquitySwitchboardEntryMetadata setUseLocalStorage:](808): CoreData: Ubiquity:  nobody~sim352B6DF3-0975-5C4B-B561-086A3032D6EA:ContentKeyName
Using local storage: 0

1 个答案:

答案 0 :(得分:-2)

根据我的测试,这是我认为的问题。

当您的本地Core Data资源与iCloud同步时,将删除在其他设备上删除的所有行。可以通过重复数据删除过程删除更多行。

在内存中,您可能持有直接表示已删除行的ManagedObjects,或者可能与这些行相关。

因此,当您访问这些行的属性时,错误进程需要查找Core Data行,但事实并非如此。不一致导致错误。

我的解决方案:每当收到NSPersistentStoreCoordinatorStoresDidChangeNotification或NSPersistentStoreDidImportUbiquitousContentChangesNotification时刷新所有ManagedObject子类对象

这对我有用。希望其他人也能从中受益。