Вашему приложению не нужно использовать преимущества многозадачности, но оно ДОЛЖНО изящно обрабатывать работу в фоновом режиме и никогда не получать уведомление о выходе из приложения. Более конкретно:
В предыдущих версиях ОС, когда пользователь выходил из приложения (нажав кнопку «Домой»), делегат приложения
applicationWillTerminate
был вызван. В iOS 4 нажатие кнопки «Домой» на устройстве вместо этого переводит приложение в фоновый режим, вызывая делегат приложения
.
applicationDidEnterBackground
Когда приложение снова выводится на передний план, ОС вызывает вызов делегата приложения
.
applicationWillEnterForeground
Чаще всего это вызывало проблемы у старых приложений, когда изменения состояния - пользовательские настройки, файлы данных, рекорды и т. Д. - записывались и сохранялись при вызове applicationWillTerminate . Теперь, когда он больше не вызывается, некоторые приложения не могут сохранить информацию о пользователе.
Почти все, что вы делали при вызове applicationWillTerminate , теперь также должно быть помещено в applicationDidEnterBackground , в зависимости от того, что делает ваше приложение.
Кроме того, возможно, что некоторые вещи, которые вы делали в приложении, сделалифиналLaunchingWithOptions также необходимо будет выполнить в applicationWillEnterForeground , в зависимости от того, что делает ваше приложение.