2008-09-24 13 views

Respuesta

154

Objective-C

[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 

Swift

UIApplication.shared.isIdleTimerDisabled = true 
+2

¿Importa dónde se usa esta línea de código? ¿Debería estar en AppDelegate o en el controlador de vista principal de la aplicación? –

+16

Eso depende de cómo pienses usarlo. Es posible que solo tenga una vista que no desee agotar en su aplicación. En este caso, lo usaría en ese controlador de vista (cuando aparece la vista). Para volver a habilitar el temporizador, entonces usaría '[[UIApplication sharedApplication] setIdleTimerDisabled: NO];' cuando la vista desaparezca. –

+2

¿La aplicación necesita volver a habilitar el temporizador cuando la aplicación ha perdido el foco, o el OS la maneja automáticamente? –

20

En rápida puede utilizar esto como

UIApplication.sharedApplication().idleTimerDisabled = true 
2

he puesto esta línea de código Desde mi punto de vista, todavía tenemos clientes que dicen que la pantalla se atenuará o se apagará hasta que alguien toque la pantalla. He visto otros puestos donde no sólo se puede programáticamente establecido

UIApplication.sharedApplication().idleTimerDisabled = true 

a cierto pero hay que restablecerla en false primera

UIApplication.sharedApplication().idleTimerDisabled = false 
UIApplication.sharedApplication().idleTimerDisabled = true 

Lamentablemente esto aún no funcionaba y los clientes todavía están recibiendo pantallas se apagaron. Tenemos el perfil del configurador de Apple que evita que el dispositivo se apague, y todavía la pantalla de algunos dispositivos se atenúa y el cliente necesita presionar el botón de inicio para activar la pantalla. Ahora coloco este código en un temporizador que se dispara cada 2.5 horas para restablecer el temporizador inactivo, con suerte esto funcionará.

+1

Tristemente poner el código en una función que se dispara con un temporizador no solucionó el problema. Dejé mi iPad encendido por más de 24 horas y no se atenuó ni hubo interacción. Según uno de nuestros clientes, un usuario usó el dispositivo 15 minutos antes y luego el dispositivo se atenuó. –

0

Estábamos teniendo el mismo problema. Resultó ser un proceso deshonesto en nuestro servidor MDM que se eliminó en nuestra cuenta, pero en el servidor todavía estaba enviando el comando para atenuar nuestros dispositivos.

9

Swift 3:

UIApplication.shared.isIdleTimerDisabled = true 
+0

Esto sigue siendo igual para Swift 4 también –

Cuestiones relacionadas