¿Cómo puedo evitar el bloqueo de pantalla solo cuando uso Navegación?
Waze tiene la opción de hacer eso, ¿cómo puedo hacer esto en mi aplicación?
Utilizar este:
C objetivo:
[[UIApplication sharedApplication] setIdleTimerDisabled: YES];
Swift (legado):
UIApplication.sharedApplication().idleTimerDisabled = true
Swift 3 y superior:
UIApplication.shared.isIdleTimerDisabled = true
Asegúrese de importar UIKit
.
Aquí está el enlace a la documentación de apple.developer.com.
Para Swift 3.0, aquí hay dos opciones dependiendo de dónde desee invocar el código:
Dentro de AppDelegate.swift:
application.idleTimerDisabled = true
Fuera de AppDelegate.swift:
UIApplication.shared().isIdleTimerDisabled = true
UIApplication.shared.isIdleTimerDisabled = false
Rápido 4
en el archivo AppDelegate.swift, agregue la siguiente línea dentro de la función de la aplicación :
application.isIdleTimerDisabled = true
Si tiene un caso más avanzado, puede usar nuestro pequeño proyecto: ScreenSleepManager o si se trata solo de ViewControllers en particular , use Insomnia como se señaló anteriormente. El manejo manual idleTimerDisabled
casi siempre me causó algunos problemas (como olvidarme de restablecer a falso o manejar varios módulos (anidados) tratando de configurarlo).
UIApplication.sharedApplication().idleTimerDisabled = true
UIApplication.shared.idleTimerDisabled = true
UIApplication.shared.isIdleTimerDisabled = true