NSFileCoordinator does not work reliably across applications and share extensions

Originator:bryan
Number:rdar://18341292 Date Originated:9/15/2015
Status:Open Resolved:
Product:iOS SDK Product Version:iOS 8, last beta prior to GM
Classification: Reproducible:Yes
 
Summary:
WWDC Session 217 indicates that NSFileCoordinator can be used for synchronizing file access. In practice, we've found it to be very unreliable and inconsistent.

Steps to Reproduce:
With extension and application processes running at the same time, modify a file in the extension via NSFileCoordinator's `
coordinateWritingItemAtURL:options:error:byAccessor:` method.

Expected Results:
Expect NSFilePresenter in the application to be alerted when writing is about to begin, and when has completed, via `relinquishPresentedItemToWriter:` and `presentedItemDidChange` respectively.

Actual Results:
These methods are either:

* Not called at all
* Only called when switching between applications
* Called, but only after a method that would cause the app to overwrite the data that the extension had just written (either `savePresentedItemChangesWithCompletionHandler:` or `relinquishPresentedItemToReader:` was called first

Version:
iOS 8 SDK, last beta prior to GM

Configuration:
iPhone 5S, last iOS 8 beta prior to GM

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!