Всем привет! Помогите, пожалуйста, решить вопрос. Выпускаю обновление для своего приложения. В нем есть функция - добавить цвет в избранное. В новой версии приложения я изменил структуру массива и добавил дополнительное поле - описание. Все данные пользователь хранит в userDefaults. Теперь, если у пользователя что-то было в избранном, то после обновления приложения он конечно же получит фатальную ошибку при переходе в избранное т.к данные не совпадают. Как быть? Можно ли заставить приложение с обновлением полностью обнулить избранное?
Проблемы после обновления приложения
korolevsky.s
#2
Решил проблему путем добавление в AppDelegate следующего метода:
func checkLounch() { let launchedBefore = UserDefaults.standard.bool(forKey: "launchedBefore") if launchedBefore { print("Not first launch.") } else { print("First launch, setting UserDefault.") UserDefaults.standard.removePersistentDomain(forName: Bundle.main.bundleIdentifier!) UserDefaults.standard.synchronize() UserDefaults.standard.set(true, forKey: "launchedBefore") UserDefaults.standard.synchronize() } }
Проверяем, является ли запуск после обновления приложения первым. Если да, то полностью обнуляем UserDefaults