Come posso impedire il blocco dello schermo solo quando uso la navigazione?
Waze ha la possibilità di farlo, come posso farlo nella mia app?
Come posso impedire il blocco dello schermo solo quando uso la navigazione?
Waze ha la possibilità di farlo, come posso farlo nella mia app?
Risposte:
Usa questo:
Objective-C:
[[UIApplication sharedApplication] setIdleTimerDisabled: YES];
Swift (legacy):
UIApplication.sharedApplication().idleTimerDisabled = true
Swift 3 e versioni successive:
UIApplication.shared.isIdleTimerDisabled = true
Assicurati di importare UIKit
.
Ecco il collegamento alla documentazione da apple.developer.com.
UIApplication.shared.idleTimerDisabled = true
UIApplication.shared.isIdleTimerDisabled = true
Per Swift 3.0 qui ci sono due opzioni a seconda di dove vuoi richiamare il codice:
All'interno di AppDelegate.swift:
application.idleTimerDisabled = true
Fuori AppDelegate.swift:
UIApplication.shared().isIdleTimerDisabled = true
UIApplication.shared.isIdleTimerDisabled = false
Se hai un caso più avanzato puoi usare il nostro piccolo progetto: ScreenSleepManager o se si tratta solo di ViewController particolari - usa Insomnia come indicato in precedenza. La gestione manuale idleTimerDisabled
quasi sempre mi ha causato alcuni problemi (come il dimenticarsi di reimpostare su false o gestire più moduli (annidati) cercando di impostarlo).
UIApplication.sharedApplication().idleTimerDisabled = true