2013-04-11 8 views
0

Я не использую симулятор. Кажется, что все работает нормально в коде. Я могу читать и писать в NSUbiquitousKeyValueStore, и он сохраняет данные между запусками приложений.iCloud хранилище ключей, ведущее себя как NSUserDefaults

[[NSUbiquitousKeyValueStore defaultStore] synchronize] 

возвращает TRUE. Тем не менее, обновления никогда не поступают на другие устройства, и если я удалю приложение с одного устройства и переустановить его, NSUbiquitousKeyValueStore будет очищен. По существу, он ведет себя как псевдоним NSUserDefaults. У меня есть настройка прав, и iCloud включен на портале обеспечения. Мои целевые настройки отмечены флажком «Включить iCloud» и «Хранилище ключей», а «Использовать хранилище с идентификатором» - идентификатор моего приложения. У меня есть одна запись в «Ubiquity Containers», которая также является моим именем. Есть что-то, что мне не хватает? Конфигурация? Шаг инициализации? Благодарю.

ответ

1

Моего скоордини- работник указал, что мне нужно включить документы & Данные в настройках iCloud. Это решило проблему.

2

Вы регистрируетесь на уведомление NSUbiquitousKeyValueStoreDidChangeExternallyNotification и обрабатываете корпус NSUbiquitousKeyValueStoreInitialSyncChange? При первом запуске приложения, что вы пишите NSUbiquitousKeyValueStore может быть получение отменено, потому что «начальная синхронизация» с ICloud не произошло, в этом случае вы получите уведомление, что с параметром NSUbiquitousKeyValueStoreChangeReasonKey, содержащим значение NSUbiquitousKeyValueStoreInitialSyncChange

+0

Голосовать за ваши усилия. – Brent

Смежные вопросы