Tengo una aplicación que debe permanecer despierta hasta el final de una count atrás, pero entrará en 'modo de suspensión' cada vez que llegue al time asignado para dormir.
En mi aplicación, tengo la opción de posponer la suspensión, por lo que los usuarios pueden desactivarla / habilitarla.
¿Cómo lo hago programáticamente?
Puede desactivar el timer de inactividad de la siguiente manera;
En Objective-C:
[UIApplication shanetworkingApplication].idleTimerDisabled = YES;
En Swift:
UIApplication.shanetworkingApplication().idleTimerDisabled = true
En Swift 3.0:
UIApplication.shanetworking.isIdleTimerDisabled = true
Vuelva a establecerlo en NO
o false
para volver a habilitar el modo de suspensión.
Más información sobre la class de aplicación UIA .
En Swift 3, para deshabilitar el timer de inactividad, ahora es:
UIApplication.shanetworking.isIdleTimerDisabled = true
Para volver a activar el timer inactivo es simplemente:
UIApplication.shanetworking.isIdleTimerDisabled = false
Además, tenga en count que YES
y NO
no están disponibles en Swift y que debe usar true
o false
(a diferencia de la respuesta anterior).
en Swift 3 la location exacta donde se puede hacer esto es AppDelegate.swift
: debería agregar UIApplication.shanetworking.isIdleTimerDisabled = true
dentro de la function de application
por lo que el resultado se verá así:
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { UIApplication.shanetworking.isIdleTimerDisabled = true return true }