web-dev-qa-db-fra.com

Comment empêcher l'écran de l'iPhone de s'éteindre ou de s'éteindre pendant l'exécution de mon application?

Je travaille sur une application qui ne nécessite aucune intervention de l'utilisateur, mais je ne souhaite pas que l'iPhone passe en mode d'économie d'énergie.

Est-il possible de désactiver l'économie d'énergie à partir d'une application?

108
lajos

Objectif c

[[UIApplication sharedApplication] setIdleTimerDisabled:YES];

Rapide

UIApplication.shared.isIdleTimerDisabled = true
166
lajos

Dans Swift vous pouvez utiliser ceci comme 

UIApplication.sharedApplication().idleTimerDisabled = true
20
Aby Mathew

Swift 3:

UIApplication.shared.isIdleTimerDisabled = true
11
Charlie Seligman

J'ai mis cette ligne de code dans mon contrôleur de vue, mais les clients nous disent tout de même que l'écran va s'éteindre ou s'éteindre jusqu'à ce que quelqu'un touche l'écran. J'ai vu d'autres articles où non seulement vous définissez par programme 

UIApplication.sharedApplication().idleTimerDisabled = true 

vrai mais vous devez le réinitialiser d'abord à faux

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

Malheureusement, cela n'a toujours pas fonctionné et les clients ont toujours des écrans tamisés. Nous avons un profil Apple Configurator empêchant le périphérique de passer en veille, et certains écrans de périphériques deviennent de moins en moins lumineux et le client doit appuyer sur le bouton d'accueil pour réactiver l'écran. Je mets maintenant ce code dans une minuterie qui se déclenche toutes les 2,5 heures pour réinitialiser la minuterie inactive. J'espère que cela fonctionnera.

2

Nous avions le même problème. Il s’est avéré qu’un processus non autorisé sur notre serveur MDM avait été supprimé de notre compte, mais que le serveur envoyait toujours la commande pour assombrir nos périphériques.