Potrzebuję zrobić coś w applicationDidEnterBackground
. Ale muszę rozróżnić, które działanie użytkownika powoduje "wejście w tle": blokada ekranu lub naciśnięcie przycisku głównego.Rozróżnianie blokady ekranu i naciśnięcia przycisku głównego na iOS7
używałem ten kod, który jest z tego 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");
}
Działa dobrze na iOS6. ale na iOS7 (zarówno urządzenie, jak i symulator) zawsze otrzymuję UIApplicationStateBackground
, niezależnie od tego, czy użytkownik kliknie przycisk home lub przycisk blokady.
Czy ktoś ma pojęcie o tym, co może spowodować? Aktualizacje iOS 7 do obsługi wielu zadań w tle? Lub niektóre ustawienia mojej aplikacji (tryb tła mojej aplikacji jest wyłączony)?
A czy istnieje alternatywne rozwiązanie?
możliwy duplikat [Jak odróżnić lokalizację ekranu k i przycisk home nacisnąć na iOS5?] (http://stackoverflow.com/questions/8303703/how-to-differentiate-between-screen-lock-and-home-button-press-on-ios5) – jmort253
Myślę, że ja nie określiłem tego wystarczająco jasno. Czytam wpis na Twoim linku, ale to już nie działa w iOS7. Nie sądzę, że to duplikat. Ale w każdym razie, edytuję moje pytanie, aby było jasne. – Perisheroy
Dobry pomysł, aby wyjaśnić, plus edycja uderza swój post z powrotem na szczyt, aby inni zobaczą go ponownie. : D – jmort253