I've been looking through a lot of iCloud documentation. I can find documentation on how to resolve conflicts and helpful documentation on iCloud and Core Data, such as Designing for Core Data in iCloud and Using Core Data with iCloud Release Notes. But none of those address how to resolve iCloud conflicts specifically using UIManagedDocument.
Should I use NSFileVersion with UIManagedDocument?
A UIDocument is supposed to be resolved using NSFileVersion. Is that also true for its subclass UIManagedDocument?
Do UIManagedDocuments automatically resolve conflicts?
The iCloud and Core Data docs refer to NSPersistentStoreDidImportUbiquitousContentChangesNotification a lot. This notification lets you know when changes have been made, but doesn't notify you of conflicts. Does this mean that conflicts are just automatically resolved (probably based on time stamps in the Core Data log)?
Do NSMergePolicy and NSMergeConflict have anything to do with iCloud?
Core Data also has classes NSMergePolicy and NSMergeConflict, but the documentation doesn't mention iCloud and seems to only apply to conflicts between a persistent store and a managed context (rather than an iCloud conflict). So those do not apply to iCloud, correct?
Apple's documentation addresses this in the iCloud Programming Guide for Core Data. In the sub section Design Your Core Data Stack to Be Efficient, it describes how iCloud conflict resolution is handled the same way as regular Core Data conflict resolution (ie. through merge policies):
For example, you traditionally use merge policies when you want to merge changes that were made in separate managed object contexts and persistent store coordinators. With iCloud, in contrast, you use merge policies to merge changes made to a record on multiple peers. For further discussion of merge policies, see “Change Management” in Core Data Programming Guide.