¿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?
¿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?
Respuestas:
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.
UIApplication.shared.idleTimerDisabled = true
UIApplication.shared.isIdleTimerDisabled = true
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
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