Подписано к application's life cycle, ваше приложение не получит уведомления, когда ios поставит ваше приложение в режиме ожидания. Всякий раз, когда ваше приложение входит в фоновый режим, и если он ничего не делает, а не обрабатывает, ios переведет его в приостановленное состояние. Но когда он приостановлен и все еще в памяти, вам действительно не нужно ничего делать, чтобы отображать тот же экран, на котором было ваше приложение. ios автоматически сохраняет состояние приложения. Вам нужно управлять этим только в том случае, если ваше приложение завершается в режиме приостановления. не в памяти.
Если у вас нет какого-либо выполнения в фоновом режиме с любым из background execution метода, вы можете рассмотреть приложение в спящем режиме, если вы получите уведомление о applicationDidEnterBackground
магазине состоянии вашего приложения где-то и applicationWillEnterForeground
вы можете отобразить приложение с состоянием хранения.
или если вы выполняете какую-то конечную задачу в фоновом режиме, вы можете сохранить локальную переменную и использовать ее для отслеживания приостановленных или сейчас. на applicationDidEnterBackground
, variable = inBackground
, когда вы выполнили задание и variable == inBackground
, установите variable == inSuspended
, а также сохраните состояние своего приложения где-нибудь. на applicationWillEnterForeground
if variable == inSuspended
{
//Display app according to previously stored state.
`variable == inForgorund`,
}
На мой взгляд, лучше использовать [Сохранение и восстановление состояния] (https://developer.apple.com/library/content/featuredarticles/ViewControllerPGforiPhoneOS/PreservingandRestoringState.html) функции iOS в этом случае. – dive
Что делать, если приложение убито и запущено, вернется ли он к восстановленному ViewController или он начнется с первого раза? @dive –