Jak mogę zapobiec blokowaniu ekranu tylko podczas korzystania z Nawigacji?
Waze ma taką możliwość, jak mogę to zrobić w mojej aplikacji?
Jak mogę zapobiec blokowaniu ekranu tylko podczas korzystania z Nawigacji?
Waze ma taką możliwość, jak mogę to zrobić w mojej aplikacji?
Odpowiedzi:
Użyj tego:
Cel C:
[[UIApplication sharedApplication] setIdleTimerDisabled: YES];
Swift (starsze):
UIApplication.sharedApplication().idleTimerDisabled = true
Swift 3 i nowsze:
UIApplication.shared.isIdleTimerDisabled = true
Pamiętaj, aby zaimportować UIKit
.
Oto link do dokumentacji z apple.developer.com.
UIApplication.shared.idleTimerDisabled = true
UIApplication.shared.isIdleTimerDisabled = true
W przypadku Swift 3.0 dostępne są dwie opcje w zależności od tego, gdzie chcesz wywołać kod:
Wewnątrz AppDelegate.swift:
application.idleTimerDisabled = true
Poza AppDelegate.swift:
UIApplication.shared().isIdleTimerDisabled = true
UIApplication.shared.isIdleTimerDisabled = false
Jeśli masz bardziej zaawansowany przypadek, możesz skorzystać z naszego małego projektu: ScreenSleepManager lub jeśli chodzi o konkretne ViewControllers - użyj Insomnia, jak wskazano wcześniej. Ręczne radzenie sobie z idleTimerDisabled
prawie zawsze powodowało pewne problemy (na przykład zapomniałem zresetować na false lub obsłużyć wiele (zagnieżdżonych) modułów, próbując to ustawić).
UIApplication.sharedApplication().idleTimerDisabled = true