когда и как обнаружить конфликт iCloud? - PullRequest
2 голосов
/ 05 марта 2012

Я использую iCloud для синхронизации пользовательского XML-файла между устройствами в моих приложениях с подклассом UIDocument, аналогично коду из вопроса: http://stackoverflow.com/questions/7795629/icloud-basics-and-code-sample., но я не уверен, когда и как я должен обнаружить конфликт.Я прочитал документацию SDK и искал в Интернете, но, похоже, не нашел никакой информации с подробной информацией.кажется, что мы можем использовать некоторый код, как NSNumber * конфликта;[url getResourceValue: & конфликта между forKey: NSURLUbiquitousItemHasUnresolvedConflictsKey error: nil];

но в моем приложении, кажется, всегда дают истинное значение для "конфликта"?Также я не уверен, когда я должен обнаружить конфликт, мое предположение до вызова метода contentForType подкласса UIDocument.если кто-нибудь может дать намек, это было бы здорово.

1 Ответ

1 голос
/ 22 мая 2012

Вы должны соблюдать UIDocumentStateChangedNotification.Если в свойстве documentState вашего документа установлен флаг UIDocumentStateInConflict, возникает конфликт.Обратите внимание, что документ может находиться в нескольких состояниях одновременно, поэтому не проверяйте с помощью ==, вместо этого используйте что-то вроде if (document.state & UIDocumentStateInConflict) {....

Затем можно получить конфликтующие версии с помощью метода класса otherVersionsOfItemAtURL:NSFileVersion.

Более подробную информацию можно найти в главе по разрешению конфликтов документов в Руководстве по программированию приложений для iOS для iOS .

...