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?
Objectif c
[[UIApplication sharedApplication] setIdleTimerDisabled:YES];
Rapide
UIApplication.shared.isIdleTimerDisabled = true
Dans Swift vous pouvez utiliser ceci comme
UIApplication.sharedApplication().idleTimerDisabled = true
Swift 3:
UIApplication.shared.isIdleTimerDisabled = true
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.
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.