Como posso evitar o bloqueio de tela apenas ao usar a navegação?
O Waze tem a opção de fazer isso, como posso fazer isso no meu aplicativo?
Como posso evitar o bloqueio de tela apenas ao usar a navegação?
O Waze tem a opção de fazer isso, como posso fazer isso no meu aplicativo?
Respostas:
Usa isto:
Objective-C:
[[UIApplication sharedApplication] setIdleTimerDisabled: YES];
Swift (legado):
UIApplication.sharedApplication().idleTimerDisabled = true
Swift 3 e superior:
UIApplication.shared.isIdleTimerDisabled = true
Certifique-se de importar UIKit
.
Aqui está o link para a documentação de apple.developer.com.
UIApplication.shared.idleTimerDisabled = true
UIApplication.shared.isIdleTimerDisabled = true
Para Swift 3.0, aqui estão duas opções, dependendo de onde você deseja invocar o código:
Dentro de AppDelegate.swift:
application.idleTimerDisabled = true
Fora de AppDelegate.swift:
UIApplication.shared().isIdleTimerDisabled = true
UIApplication.shared.isIdleTimerDisabled = false
Se você tiver um caso mais avançado, pode usar nosso pequeno projeto: ScreenSleepManager ou se for apenas sobre ViewControllers específicos - use Insomnia como apontado anteriormente. O tratamento manual idleTimerDisabled
quase sempre me causou alguns problemas (como esqueci de redefinir como falso ou lidar com vários módulos (aninhados) tentando defini-lo).
UIApplication.sharedApplication().idleTimerDisabled = true