2014-12-06 5 views
4

Я использую iCloud для синхронизации моего хранилища Core Data. Это прекрасно работает. Я только заметил, что при запуске приложения появляется следующее сообщение об ошибке. Это нормально? Есть ли что-то, что я могу сделать, чтобы предотвратить это?Ошибка PFUiquity при использовании Core Data и iCloud

Благодаря

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 
+0

Звучит так, будто он говорит, что не может найти ваш документ. Кажется, что ваш документ отсутствует? –

+0

Не знаю, что я знаю - он загружает данные. Но почему это даже нужно .DS_Store? – Joseph

+0

Я пытаюсь использовать icloud с основными данными. он, похоже, отлично работает для меня, но я получаю такое же сообщение об ошибке. в документации ничего не говорится об этой ошибке. не уверен, что делать. примечание, приложение прерывается на устройстве, но отлично работает на симуляторе! – AceN

ответ

-2

Основываясь на моих тестах, вот что я считаю, это проблема.

Когда ваши локальные ресурсы Core Data синхронизируются с iCloud, все строки, удаленные на другом устройстве, удаляются. С помощью де-dupe-процесса можно удалить больше строк.

В памяти вы можете удерживать ManagedObjects, которые представляют собой удаленные строки напрямую или могут быть связаны с этими строками.

Таким образом, при доступе к свойствам этих строк процесс отказа ожидает найти строки Core Data, но это не так. Несоответствие вызывает ошибку.

Мое решение: Обновить все ManagedObject подклассы объектов всякий раз, когда вы получаете NSPersistentStoreCoordinatorStoresDidChangeNotification или NSPersistentStoreDidImportUbiquitousContentChangesNotification

Это работало для меня. Надеюсь, кто-то еще может извлечь из этого выгоду.

Смежные вопросы