Восстановление состояния в iOS 14

#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, чтобы приложение теперь работало в фоновом режиме. Затем, когда вы запустите его снова, его состояние будет восстановлено.