IOS миграция данных при обновление версии приложения?
Общая картина:
переход от 1 версии приложения к 2
С Core Data все понятно и везде много чего написано как переносить ее и как делать миграцию к 2 версии.
просьба отвечать по пунктам
1) userdefaults стираются при обновление или нет ?
2) .plist стирается при обновление или нет?
3) Исходя из второго вопроса, если у нас .plist не сотрется , то как он обновляется ? (что будет с тем что мы программно туда добавили в старой версии? как добавиться новые поля из новой, если старый существует?)
4) Как вообще можно сохраниться какие нибудь данные так что бы они не исчезали при обновление ? (я читал, что есть вроде как папки из которых переносятся) и как они ведут себя при обновление если дефолтный файл был изменен, как этот механизм работает?
5) если я прав в 4 вопросе , то как в Xcode поставить так что бы сразу сохранялся в нужную директорию
6) keychain при обновление как ведет себя ?
Я хочу просто разобраться с этим, что бы потом не переделывать
и что можно почитать про общую миграцию данных между версиями, не конкретно coredate
1) userdefaults стираются при обновление или нет ? - НЕТ
2) .plist стирается при обновление или нет? - ОБНОВЛЕТСЯ
3) Исходя из второго вопроса,.... - ----
4) Как вообще можно сохраниться какие нибудь данные так что бы они не исчезали при обновление ? - ДАННЫЕ бывают разные - флаг выполнения события, небольшой набор данных(имя, телефон, итп), файлы. Для каждого - своя стратегия. Есть такое хранилище которое не очищается даже после удаления приложения.
5) если я прав в 4 вопросе , то как в Xcode поставить так что бы сразу сохранялся в нужную директорию - САМО НИЧЕГО НЕ ДЕЛАЕТСЯ, надо ручками компоновать тот путь который вам нужен.
6) keychain при обновление как ведет себя ? - ОСТАЕТСЯ
Под "компоновать это ручками" я имел ввиду самому составлять URL из того пути который тебе нужен. Гугли как получать путь к основным директориям приложения (темп, документс) и к ним приписывай дальше тот путь что тебе надо (поддиректории, имя файла).
Если у тебя конкретные вопросы по конкретному коду - то создавай отдельный вопрос. И убедись перед этим что в интернете об этом ни чего не написано. Предлагай решение и спрашивай почему не работает.
UserDefaults остается. Потеряете только если замените группу, и то условно - при подключении к группе доступ вернется.
Plist это файл, заменили его - у вас новый файл. Plist остается актуальный для версии.
Дополнительно файлы можно хранить в DocumentDirectory. К примеру, файл базы данных Realm лежит там. Для управления файлами есть синглтон FileManager, основной принцип работы на путях.
Записи из Keychain не пропадают, но вы уверены что хотите хранить там файлы?
Вы привели разные системы, для разных задач. Глупо хранить в Keychain настройки, а в UserDefaults пароли. Изучите каждую систему отдельно. Универсального "вот это хорошо, остальное фигня" нету.
спасибо, я понимаю что это все разные системы под разные задачи, я как раз хотел понять как виду себя эти системы
UserDefaults не удаляется даже после? правильно я вас понял или мы говорим только про группы приложений, можете подсказать что можно прочитать на тему групп приложений, просто слышал про это но не конца понимаю как это работает.