#ios #swift #state-restoration
#iOS #быстрое #восстановление состояния
Вопрос:
Я пытаюсь использовать восстановление состояния в своем приложении, но по какой-то причине я не могу заставить его работать. У меня установлен идентификатор восстановления во всех контроллерах просмотра, контроллерах навигации и контроллерах панели вкладок. Я решил использовать следующие функции в AppDelegate
func application(_ application: UIApplication, willFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
return true
}
func application(_ application: UIApplication, shouldRestoreSecureApplicationState coder: NSCoder) -> Bool {
return true
}
func application(_ application: UIApplication, shouldSaveSecureApplicationState coder: NSCoder) -> Bool {
return true
}
После завершения работы приложения на симуляторе и на устройстве оно не восстанавливает никаких состояний. Я не получаю никаких предупреждений, я что-то пропустил?
Комментарии:
1. Я думаю, что для тестирования на симуляторе вы нажимаете stop в Xcode. Я давно не тестировал
2. Вы когда-нибудь заставляли это работать? В настоящее время я борюсь с той же проблемой.
3. Нет, все это было изменено, когда iOS переключилась на делегаты сцены, я до сих пор не нашел ничего, что работает
4. Если вы найдете приличную статью или видео, можете ли вы, возможно, связать его в сообщении или комментариях, я также глубоко запутался в том, как это реализовать. Заранее спасибо.
5. Я опубликую ответ на этот вопрос, если когда-нибудь найду что-нибудь
Ответ №1:
Чтобы протестировать восстановление состояния на симуляторе, вам нужно запустить приложение, вернуться на главный экран, а затем нажать stop в Xcode, чтобы приложение теперь работало в фоновом режиме. Затем, когда вы запустите его снова, его состояние будет восстановлено.