Разработка для Базовых Данных в iCloud
Принятие Хранения данных Ядра iCloud делает содержание в приложении стиля обувной коробки (как iPhoto) или приложении стиля базы данных (как Бенто) доступным на всех устройствах пользователя. См. Руководство по программированию iCloud для Базовых Данных для стратегии полноценного внедрения.
Базовые Данные Отправляют Инкрементные Изменения в iCloud
Каждый экземпляр Вашего приложения, на каждом устройстве, присоединенном к учетной записи iCloud, поддерживает свой собственный локальный Базовый файл Хранилища данных. Когда данные изменяются локально, Базовые файлы журнала изменений записей Данных к контейнеру повсеместности Вашего приложения по умолчанию.
Файлы журнала изменений, не файл хранилища, загружаются на iCloud и загружаются на каждое из других устройств пользователя. Когда журнал изменений поступает от другого устройства, присоединенного к той же учетной записи iCloud, Базовые Данные обновляют локальную копию Вашего приложения базы данных SQLite, на основе полученного журнала изменений. iCloud и Базовые Данные гарантируют, что каждая локальная база данных обновляется с тем же набором изменений.
Для узнавания больше об использовании SQLite персистентные хранилища с iCloud посмотрите Используя Хранилище SQLite с iCloud в Руководстве по программированию iCloud для Базовых Данных.
Управляемая Поддержка Документов iCloud
UIManagedDocument
класс является основным механизмом, через который Базовые Хранилища данных управляли документами в iCloud на iOS. UIManagedDocument
класс управляет всем Базовым Стеком данных для каждого документа в основанном на документе приложении. Читайте Используя Хранение документов с iCloud в Руководстве по программированию iCloud для Базовых Данных, чтобы узнать, как использовать управляемые документы в Вашем приложении.
В OS X Базовые Данные интегрируются с архитектурой документа через NSPersistentDocument
класс. Однако в OS X v10.8, экземпляры этого класса не предоставляют определенную поддержку для iCloud.
Разработайте Последовательность Запуска для Своего Приложения Данных Ядра iCloud
Когда Вы принимаете iCloud, проявляете специальную заботу при разработке последовательности запуска для приложения. Следующие факторы играют роль, и необходимо составить их:
Пользователь мог бы или, возможно, не ранее указал предпочтение для использования iCloud в приложении; локальный экземпляр Вашего приложения мог бы или, возможно, не уже установил свое начальное хранилище в контейнере повсеместности.
Как первый шаг в Вашей последовательности запуска, считайте базу данных значений по умолчанию локального пользователя с помощью совместно используемого
NSUserDefaults
объект. Во время работы Вашего приложения используйте тот объект сохранить пользовательский выбор, в котором Вы будете нуждаться на следующем запуске.Пользователь мог бы выйти из iCloud или переключиться на другую учетную запись.
Если пользователь выходит из iCloud или переключается на другую учетную запись, контейнеры повсеместности для ранее используемой учетной записи больше не доступны Вашему приложению.
Локальное Базовое Хранилище данных могло бы быть более новым или более старым, чем хранилище на другом устройстве, принадлежавшем тому же пользователю.
Во время запуска приложения Базовые Данные, возможно, должны были бы согласовать локальное хранилище с журналами изменений от iCloud. Это может включить обнаружение и разрешение двойных записей и конфликтов. Тестирование критически важно. Для начала работы с некоторыми подсказками обратитесь к Тестированию и Отладке Приложения iCloud, а также Методов наиболее успешной практики и Поиска и устранения неисправностей в Руководстве по программированию iCloud для Базовых Данных.