Основные данные с iCloud.Проблемы с синхронизацией.(MacOS против iOS - конфликты) - PullRequest
5 голосов
/ 26 декабря 2011

У меня есть некоторые проблемы при работе с CoreData и iCloud.Я использовал пример с форума разработчиков Apple (iCloud) - проект IPhoneCoreDataRecipes, который представляет работу с CoreData через iCloud.Он работает нормально, но появляются некоторые конфликты, и не все объекты синхронизируются.

Я вижу следующие предупреждения в журнале:

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;
})

Кто-нибудь знает, как можно разрешить такие конфликты?Спасибо.

1 Ответ

2 голосов
/ 19 февраля 2012

Рекомендуется указать политику слияния в контексте управляемого объекта:

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

Есть также другие политики слияния , выберите ту, которая подходит вашему приложению.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...