Проблема восстановления приложения в iOS9
Приложение имеет функциональность для сохранения и восстановления информации о состоянии. Он использует API-интерфейсы shouldSaveApplicationState и shouldRestoreApplicationState в делегате и приложении App:willEncodeRestorableStateWithCoder и application: didDecodeRestorableStateWithCoder в соответствующем классе контроллера представления. Таким образом, приложение восстанавливает состояние даже после принудительного выхода из приложения из любого состояния. Это работало нормально до iOS 8.x.
В iOS 9.x обнаружено, что восстановление не работает, когда приложение принудительно выходит из приложения с переднего плана. Это связано с тем, что метод shouldRestoreApplicationState не запускается при повторном запуске приложения.
Во всех других сценариях функция восстановления приложений работает нормально, как и ожидалось.
В нашем приложении не было никаких изменений кода, но теперь приложение ведет себя по-другому.
Пожалуйста, помогите, так как это одна из ключевых функций приложения.
1 ответ
Это по замыслу. Следующее из документации Apple:
Система автоматически удаляет сохраненное состояние приложения, когда пользователь принудительно покидает приложение. Удаление сохраненной информации о состоянии, когда приложение убито, является мерой безопасности. (В качестве меры предосторожности система также удаляет сохраненное состояние, если приложение дважды вызывает сбой во время запуска.) Если вы хотите проверить способность вашего приложения восстановить его состояние, вам не следует использовать панель многозадачности для уничтожения приложения во время отладки. Вместо этого используйте XCode, чтобы убить приложение или убить приложение программно, установив временную команду или жест, чтобы вызвать выход по требованию.