2011-12-26 19 views
5

Tengo algunos problemas durante el trabajo con CoreData e iCloud. He usado el ejemplo del foro de desarrolladores de Apple (iCloud) - Proyecto IPhoneCoreDataRecipes que representa el trabajo con CoreData a través de iCloud. Funciona bien, pero aparecen algunos conflictos y no todas las entidades se sincronizan.Datos principales con iCloud. Problemas de sincronización. (MacOS vs iOS - conflictos)

puedo ver las siguientes advertencias en el registro:

Warning>: +[PFUbiquityRecordImportConflict createTransactionLogForTransactionEntry:withError:](607): CoreData: Ubiquity: Unable to find transaction log for entry: <PFUbiquityTransactionEntry: 0x68b9a60> (entity: PFUbiquityTransactionEntry; id: 0x68c5d50 <x-coredata://697F667C-7541-43E7-B21B-5362D165537B/PFUbiquityTransactionEntry/p2> ; data: { 
    actingPeer = "0x1526e0 <x-coredata://697F667C-7541-43E7-B21B-5362D165537B/PFUbiquityPeer/p1>"; 
    globalIDStr = "com.appmania.dreambookdata.coredata:DreamHistory:p1:mobile.99829CE6-D497-590F-B2F8-795CFFC84CCB"; 
    knowledgeVectorString = "mobile.99829CE6-D497-590F-B2F8-795CFFC84CCB:1"; 
    localIDStr = "x-coredata://D45E85ED-A2B7-48AC-96BF-6B2C64812656/DreamHistory/p1"; 
    storeMetadata = "0x12d4a0 <x-coredata://697F667C-7541-43E7-B21B-5362D165537B/PFUbiquityStoreMetadata/p1>"; 
    transactionDate = "2011-12-01 08:00:13 +0000"; 
    transactionLogFilename = "7C9AD5E3-457E-4E2B-8F1C-A7D8878E5BDB.1.cdt"; 
    transactionNumber = 1; 
    transactionTypeNum = 0; 
}) 

¿Alguien sabe cómo tales conflictos pueden resolverse? Gracias.

Respuesta

2

Se recomienda especificar una política de combinación en el contexto de objeto gestionado:

moc.mergePolicy = [[NSMergePolicy alloc] 
    initWithMergeType:NSMergeByPropertyObjectTrumpMergePolicyType]; 

Hay también other merge policies, elegir la que se adapte a su aplicación.

Cuestiones relacionadas