Key data / iCloud settlement with local xml file metal errors in iOS8

I hope this is something simple, but I have not yet been able to find a solution. I have an application that I am trying to implement with iCloud and Core Data. I would like it to work on iOS7 and iOS8.

The app is a checklist / collector table app.

In fact, the application has a pre-seeded xml file with about 50,000 in it. Initially, sqlite / core data is configured to have only one element. Users can select groups in the form of a table to add to the master data storage (so that not all 50,000 items are not included). When the user selects a group with 1-50 elements, it parses the xml for these elements and writes them to the master data store. When a user selects a group with a large number of files, it parses and adds them, but then also generates some random "document without URL" errors during the parsing process. The application does not crash, and all the elements seem to be added, but the application stops syncing with iCloud. Exact error:

__45-[PFUbiquityFilePresenter processPendingURLs]_block_invoke(439): CoreData: Ubiquity: Librarian returned a serious error for starting downloads Error Domain=BRCloudDocsErrorDomain Code=5 "The operation couldn't be completed. (BRCloudDocsErrorDomain error 5 - No document at URL)" UserInfo=0x7fd7f54abea0 {NSDescription=No document at URL, NSFilePath=/Users/zacharyfisher/Library/Developer/CoreSimulator/Devices/4B70FCFC-4704-4C83-B848- 0D52D833E28A/data/Library/Mobile Documents/iCloud~com~xxxxx~xxxxxxx/CoreData/iCloud/nobody~sim43DA22C4-427B-5FCD-9B61-90CE79638F6B/iCloud/PZbSJk1f2RNB6ucDj0Y6VqL1KgXYAxi4LcApXONjvnQ=/C45FA553-6CA0-4C26-845B-B478EF7EAD60.1.cdt, NSUnderlyingError=0x7fd7f54aa200 "The operation couldn't be completed. No such file or directory"} with userInfo { NSDescription = "No document at URL"; NSFilePath = "/Users/zacharyfisher/Library/Developer/CoreSimulator/Devices/4B70FCFC-4704-4C83-B848-0D52D833E28A/data/Library/Mobile Documents/iCloud~com~xxxxxxx~xxxxxxx/CoreData/iCloud/nobody~sim43DA22C4-427B-5FCD-9B61-90CE79638F6B/iCloud/PZbSJk1f2RNB6ucDj0Y6VqL1KgXYAxi4LcApXONjvnQ=/C45FA553-6CA0-4C26-845B-B478EF7EAD60.1.cdt"; NSUnderlyingError = "Error Domain=NSPOSIXErrorDomain Code=2 \"The operation couldn\U2019t be completed. No such file or directory\" UserInfo=0x7fd7f5433240 {NSDescription=No such file or directory}"; } for these urls: ( "file:///Users/zacharyfisher/Library/Developer/CoreSimulator/Devices/4B70FCFC-4704-4C83-B848-0D52D833E28A/data/Library/Mobile%20Documents/iCloud~com~xxxxxxx~xxxxxxx/CoreData/iCloud/nobody~sim43DA22C4-427B-5FCD-9B61-90CE79638F6B/iCloud/PZbSJk1f2RNB6ucDj0Y6VqL1KgXYAxi4LcApXONjvnQ=/C45FA553-6CA0-4C26-845B-B478EF7EAD60.1.cdt" ) 

Then I will also get a "move" error (sometimes after parsing is complete):

 [PFUbiquityTransactionLog moveFileToPermanentLocationWithError:](761): CoreData: Ubiquity: CoreData: Ubiquity: Error writing export log to file: file:///Users/zacharyfisher/Library/Developer/CoreSimulator/Devices/4B70FCFC-4704-4C83-B848-0D52D833E28A/data/Library/Mobile%20Documents/iCloud~com~xxxxxxx~xxxxxxx/CoreData/iCloud/nobody~sim43DA22C4-427B-5FCD-9B61-90CE79638F6B/iCloud/PZbSJk1f2RNB6ucDj0Y6VqL1KgXYAxi4LcApXONjvnQ=/ABE37211-02B7-4F20-B631-B5D91B23E9BE.1.cdt error: Error Domain=NSCocoaErrorDomain Code=516 "The operation couldn't be completed. (Cocoa error 516.)" UserInfo=0x7fd7f49cdfd0 {NSSourceFilePathErrorKey=/Users/zacharyfisher/Library/Developer/CoreSimulator/Devices/4B70FCFC-4704-4C83-B848-0D52D833E28A/data/Library/Mobile Documents/iCloud~com~xxxxxx~xxxxxxxx/CoreData/iCloud/nobody~sim43DA22C4-427B-5FCD-9B61-90CE79638F6B/tempLogs.nosync/iCloud/PZbSJk1f2RNB6ucDj0Y6VqL1KgXYAxi4LcApXONjvnQ=/ABE37211-02B7-4F20-B631-B5D91B23E9BE.1.cdt, NSUserStringVariant=( Move ), NSDestinationFilePath=/Users/zacharyfisher/Library/Developer/CoreSimulator/Devices/4B70FCFC-4704-4C83-B848-0D52D833E28A/data/Library/Mobile Documents/iCloud~com~xxxxxx~xxxxxxx/CoreData/iCloud/nobody~sim43DA22C4-427B-5FCD-9B61-90CE79638F6B/iCloud/PZbSJk1f2RNB6ucDj0Y6VqL1KgXYAxi4LcApXONjvnQ=/ABE37211-02B7-4F20-B631-B5D91B23E9BE.1.cdt, NSFilePath=/Users/zacharyfisher/Library/Developer/CoreSimulator/Devices/4B70FCFC-4704-4C83-B848-0D52D833E28A/data/Library/Mobile Documents/iCloud~com~xxxxxx~xxxxxx/CoreData/iCloud/nobody~sim43DA22C4-427B-5FCD-9B61-90CE79638F6B/tempLogs.nosync/iCloud/PZbSJk1f2RNB6ucDj0Y6VqL1KgXYAxi4LcApXONjvnQ=/ABE37211-02B7-4F20-B631-B5D91B23E9BE.1.cdt, NSUnderlyingError=0x7fd7f497f430 "The operation couldn't be completed. File exists"} userInfo: { NSDestinationFilePath = "/Users/zacharyfisher/Library/Developer/CoreSimulator/Devices/4B70FCFC-4704-4C83-B848-0D52D833E28A/data/Library/Mobile Documents/iCloud~com~xxxxxx~xxxxxx/CoreData/iCloud/nobody~sim43DA22C4-427B-5FCD-9B61-90CE79638F6B/iCloud/PZbSJk1f2RNB6ucDj0Y6VqL1KgXYAxi4LcApXONjvnQ=/ABE37211-02B7-4F20-B631-B5D91B23E9BE.1.cdt"; NSFilePath = "/Users/zacharyfisher/Library/Developer/CoreSimulator/Devices/4B70FCFC-4704-4C83-B848-0D52D833E28A/data/Library/Mobile Documents/iCloud~com~xxxxxxx~xxxxxxx/CoreData/iCloud/nobody~sim43DA22C4-427B-5FCD-9B61-90CE79638F6B/tempLogs.nosync/iCloud/PZbSJk1f2RNB6ucDj0Y6VqL1KgXYAxi4LcApXONjvnQ=/ABE37211-02B7-4F20-B631-B5D91B23E9BE.1.cdt"; NSSourceFilePathErrorKey = "/Users/zacharyfisher/Library/Developer/CoreSimulator/Devices/4B70FCFC-4704-4C83-B848-0D52D833E28A/data/Library/Mobile Documents/iCloud~com~xxxxxxx~xxxxxxx/CoreData/iCloud/nobody~sim43DA22C4-427B-5FCD-9B61-90CE79638F6B/tempLogs.nosync/iCloud/PZbSJk1f2RNB6ucDj0Y6VqL1KgXYAxi4LcApXONjvnQ=/ABE37211-02B7-4F20-B631-B5D91B23E9BE.1.cdt"; NSUnderlyingError = "Error Domain=NSPOSIXErrorDomain Code=17 \"The operation couldn\U2019t be completed. File exists\""; NSUserStringVariant = ( Move ); 

}

Any thoughts on how to fix this? Am I trying to make too many changes at once, and does this lead to kernel / icloud data sync failure? Any thoughts or pointers would be appreciated.

Zack

+8
ios8 core-data icloud
source share
1 answer

Zach, this is not an answer (I have no comments to comment on), but it can help you get on the right track. I embed iCloud master data and run into what seems to be the same problem with iOS 8 ... same error "No document at URL" (no move errors), and the same breakdown of data synchronization. Two observations:

  • When I run my application on two devices, the synchronization of the main data initially works very well ... for example, for several minutes and several updates. Then I get the error "no document at URL".

  • My .sqlite database is very small, and the updates I'm trying to do are modest (like adding one new object, for example), so I don't think the file size or the complexity of the update are factors.

  • On the device where these errors are logged, the repository stops importing changes from iCloud. But the changes that I make on this device continue to be saved on the other device. Thus, the effect is similar to a one-way breakdown.

Hope this helps. I would be grateful for reports of any progress made. I struggled with this for several weeks, and I'm close to giving up and downloading the application (which is universal) without iCloud data synchronization.

+3
source share

All Articles