Мне нужно что-то сделать в applicationDidEnterBackground
. Но мне нужно различать, какое действие пользователя вызывает "ввести фон": блокировка экрана или кнопка "домой".
Я использовал этот код, который из этого post - Как различать блокировку экрана и кнопку дома нажимать на iOS5?:
UIApplicationState state = [application applicationState];
if (state == UIApplicationStateInactive) {
NSLog(@"Sent to background by locking screen");
} else if (state == UIApplicationStateBackground) {
NSLog(@"Sent to background by home button/switching to other app");
}
Он отлично работает на iOS6. но на iOS7 (как на устройстве, так и на симуляторе) я всегда получаю UIApplicationStateBackground
, щелкает ли пользователь дом или кнопка блокировки.
Есть ли у кого-то представление о том, что может это сделать? Обновления iOS 7 для обработки нескольких задач? Или некоторые настройки моего приложения (мой фоновый режим приложения отключен)?
И есть ли альтернативное решение?