¿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.
UIApplication.sharedApplication().idleTimerDisabled = trueUIApplication.shared.idleTimerDisabled = trueUIApplication.shared.isIdleTimerDisabled = truePara Swift 3.0, aquí hay dos opciones dependiendo de dónde desee invocar el código:
Dentro de AppDelegate.swift:
application.idleTimerDisabled = trueFuera de AppDelegate.swift:
UIApplication.shared().isIdleTimerDisabled = truefuente
UIApplication.shared.isIdleTimerDisabled = falseRápido 4
en el archivo AppDelegate.swift, agregue la siguiente línea dentro de la función de la aplicación :
fuente
Puede usar mi pequeña lib Insomnia (Swift 3, iOS 9+); otra característica interesante es que puede evitar que se duerma solo cuando se carga.
El
idleTimerDisabledsoultion está bien, pero debes recordar configurarlofalsedespués.fuente
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
idleTimerDisabledcasi siempre me causó algunos problemas (como olvidarme de restablecer a falso o manejar varios módulos (anidados) tratando de configurarlo).fuente