Подтвердить что ты не робот

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

Я сохраняю экран своего приложения, так что, когда приложение будет открыто, он покажет экран, который был сохранен. Приложение основано на навигации.

Я назначил идентификаторы восстановления моим двум контроллерам представлений в основной панели рассказов. Первым контроллером является контроллер корневого представления контроллера навигации. Я также назначил идентификатор восстановления контроллеру навигации. Теперь проблема в том, что когда я запускаю приложение, я получаю следующее предупреждение:

Невозможно создать файл маркера восстановления.

Не уверен, что еще нужно сделать.

4b9b3361

Ответ 1

У меня было такое же предупреждение и исправлено, выполнив следующие действия.

Я использовал раскадровку. Моя раскадровка включала контроллер навигации и контроллер вида (который был контроллером корневого представления этого контроллера навигационного представления). В моем случае это было вызвано одной из двух причин:

Приложение не было настроено правильно для сохранения состояния  Необходимо установить следующие параметры:

  • В приложении делегат переопределить приложение: willFinishLaunching. В этом методе можно просто вернуть ДА.

  • Для каждого вида контроллеров и представлений (включая контроллеры просмотра навигации и контроллеров табуляции) установите идентификатор восстановления

  • В делегате приложения, выберите, переопределяя shouldSaveApplicationState и shouldRestoreApplicationState

Если это предупреждение все же произошло, вы можете проверить, как вы запускаете приложение в Xcode. Я запускал свое приложение в симуляторе Xcode и должен был следовать определенной последовательности, чтобы вызвать сохранение состояния.

  • запуск приложения в симуляторе Xcode
  • В симуляторе Xcode нажмите кнопку Главная ", чтобы поместить приложение в фоновый режим. Метод encodeRestorableStateWithCoder контроллера вида следует называть
  • вернитесь к Xcode, нажмите кнопку остановить ", чтобы прервать симуляцию
  • В симуляторе Xcode дважды нажмите кнопку "Главная", а затем удалите приложение из переключателя приложений и
  • вернитесь к Xcode, запустите приложение еще раз.

Это предупреждение не должно появляться. Когда я использовал другие последовательности, я увидел это предупреждение. Когда я отлаживал свое приложение на своем устройстве с помощью Xcode, я следовал той же последовательности и не видел предупреждения.

Я думаю, что это предупреждение указывало, что, поскольку Xcode не смог закончить приложение правильно, файл восстановления состояния был неправильно сохранен на диске.

Ответ 2

Попробуйте указать свой идентификатор восстановления. Вы можете сделать это, чтобы открыть xib или раскадровку и назначить идентификатор вашему контроллеру View.

enter image description here

подробнее: http://useyourloaf.com/blog/2013/05/21/state-preservation-and-restoration.html

Ответ 3

Тренажер:

  • Это происходит в первый раз на симуляторе, когда приложение кодирует. (не уверен, почему)
  • В последующие моменты это предупреждение не будет отображаться.

Device:

Попробуйте запустить устройство.

  • Запуск на устройстве
  • Перейдите на главный экран.
  • Прекратить работу с Xcode
  • Удалить приложение из переключателя приложений
  • Запуск на устройстве снова