Мне нужно что-то сделать в applicationDidEnterBackground
. Но мне нужно различать, какое действие пользователя вызывает «ввести фон»: блокировка экрана или кнопка «домой».Дифференциация между блокировкой экрана и нажатием кнопки дома на iOS7
Я использую этот код, который от этого post - How to differentiate between screen lock and home button press on 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 для обработки нескольких задач? Или некоторые настройки моего приложения (фоновый режим моего приложения отключен)?
И есть ли альтернативное решение?
Возможный дубликат [Как различать расположение экрана k и home нажимают на iOS5?] (http://stackoverflow.com/questions/8303703/how-to-differentiate-between-screen-lock-and-home-button-press-on-ios5) – jmort253
Я думаю, что я не констатировал это достаточно четко. Я прочитал сообщение в вашей ссылке, но это больше не работает в iOS7. Я не думаю, что это дубликат. Но в любом случае, я редактирую свой вопрос, чтобы дать понять. – Perisheroy
Хорошая идея, чтобы уточнить, плюс редактирование ударяет ваш пост назад, чтобы другие видели его снова. : D – jmort253