В моем приложении IOS я храню два типа данных в CoreData. Один тип создается пользователем, другой — предварительно сгенерированной базой данных. В настоящее время все это находится в том же магазине, который входит в папку документов. Но это не очень хороший подход, поэтому я разделю на 2 отдельных магазина.
Есть две проблемы:
- Предварительно созданная база данных не должна создавать резервную копию iCloud.
- Когда предоставляется обновление приложения, пользовательские данные должны быть сохранены, но предварительно созданная база данных должна быть перезаписана. (Предварительно созданная база данных будет иметь обновленное содержимое, даже если модель данных не изменилась.)
Для проблемы 1 я могу либо поместить предварительно созданное хранилище базы данных в каталог кеша, либо оставить его в каталоге документов, помеченном для пропуска резервного копирования. Поскольку каталог кеша можно очистить в любое время, лучше использовать папку документов без резервного копирования. Однако решает ли это проблему 2? То есть, будет ли предварительно созданная база данных перезаписана после обновления?
Если нет, то есть ли другие решения?