¿Cómo deshabilitar / habilitar el modo de suspensión mediante progtwigción en iOS?

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 }