Я нахожусь на ранней стадии создания приложения, в котором я хотел бы сохранять, синхронизировать и создавать резервные копии данных. Приложение не будет хранить файлы, только данные в базе данных. Это будет iOS 8 и выше, поэтому я могу использовать CloudKit. Я провел небольшое исследование и до сих пор не понимаю, как Core Data, iCloud и CloudKit работают вместе.
Насколько я понимаю, CloudKit - это всего лишь способ получения и извлечения данных в / из облака. CloudKit - это просто другой способ синхронизации данных с iCloud?
Мои вопросы:
Если я использую CloudKit, нужно ли мне создавать локальную базу данных ядра?
- Если да, будет ли он автоматически синхронизирован с iCloud или мне придется вызывать методы для хранения в обоих местах?
Если данные хранятся только в облаке, пользователь сможет получить к ним доступ, когда устройство iOS не подключено к Интернету. Я читал, что CloudKit будет иметь только ограниченное кеширование.
- Как это будет работать, если учетная запись iCloud не включена.
Если кто-то может разбить, что делает каждая технология в процессе сохранения и синхронизации основной базы данных в автономном и интерактивном режиме.
Мое текущее понимание:
Core Data используется для локального хранения данных
iCloud синхронизирует данные и сохраняет в облаке
CloudKit дает возможность хранить и управлять данными в облаке ??
Надеюсь, я предоставил достаточно информации, чтобы этот вопрос не закрылся.