IOS миграция данных при обновление версии приложения?

Общая картина:
переход от 1 версии приложения к 2
С Core Data все понятно и везде много чего написано как переносить ее и как делать миграцию к 2 версии.
просьба отвечать по пунктам
1) userdefaults стираются при обновление или нет ?
2) .plist стирается при обновление или нет?
3) Исходя из второго вопроса, если у нас .plist не сотрется , то как он обновляется ? (что будет с тем что мы программно туда добавили в старой версии? как добавиться новые поля из новой, если старый существует?)
4) Как вообще можно сохраниться какие нибудь данные так что бы они не исчезали при обновление ? (я читал, что есть вроде как папки из которых переносятся) и как они ведут себя при обновление если дефолтный файл был изменен, как этот механизм работает?
5) если я прав в 4 вопросе , то как в Xcode поставить так что бы сразу сохранялся в нужную директорию
6) keychain при обновление как ведет себя ?

Я хочу просто разобраться с этим, что бы потом не переделывать
и что можно почитать про общую миграцию данных между версиями, не конкретно coredate
  • Вопрос задан
  • 263 просмотра
Решения вопроса 1
briahas
@briahas
ObjC, Swift, Python
1) userdefaults стираются при обновление или нет ? - НЕТ
2) .plist стирается при обновление или нет? - ОБНОВЛЕТСЯ
3) Исходя из второго вопроса,.... - ----
4) Как вообще можно сохраниться какие нибудь данные так что бы они не исчезали при обновление ? - ДАННЫЕ бывают разные - флаг выполнения события, небольшой набор данных(имя, телефон, итп), файлы. Для каждого - своя стратегия. Есть такое хранилище которое не очищается даже после удаления приложения.
5) если я прав в 4 вопросе , то как в Xcode поставить так что бы сразу сохранялся в нужную директорию - САМО НИЧЕГО НЕ ДЕЛАЕТСЯ, надо ручками компоновать тот путь который вам нужен.
6) keychain при обновление как ведет себя ? - ОСТАЕТСЯ
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
ivanvorobei
@ivanvorobei
iOS разработчик, канал https://t.me/sparrowcode
UserDefaults остается. Потеряете только если замените группу, и то условно - при подключении к группе доступ вернется.

Plist это файл, заменили его - у вас новый файл. Plist остается актуальный для версии.

Дополнительно файлы можно хранить в DocumentDirectory. К примеру, файл базы данных Realm лежит там. Для управления файлами есть синглтон FileManager, основной принцип работы на путях.

Записи из Keychain не пропадают, но вы уверены что хотите хранить там файлы?

Вы привели разные системы, для разных задач. Глупо хранить в Keychain настройки, а в UserDefaults пароли. Изучите каждую систему отдельно. Универсального "вот это хорошо, остальное фигня" нету.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы