2008-09-24 4 views

Répondre

154

Objective-C

[[UIApplication sharedApplication] setIdleTimerDisabled:YES]; 

Swift

UIApplication.shared.isIdleTimerDisabled = true 
+2

Est-ce important de savoir où cette ligne de code est utilisée? Devrait-il être dans AppDelegate ou le contrôleur principal de l'application? –

+16

Cela dépend de la façon dont vous avez l'intention de l'utiliser. Vous ne disposez peut-être que d'une vue pour laquelle vous ne souhaitez pas attendre dans votre application. Dans ce cas, vous l'utiliserez dans ce contrôleur de vue (lorsque la vue apparaît). Pour réactiver le minuteur, vous devez alors utiliser [[UIApplication sharedApplication] setIdleTimerDisabled: NO]; 'lorsque la vue disparaît. –

+2

L'application doit-elle réactiver le minuteur lorsque l'application a perdu le focus ou est-elle gérée automatiquement par le système d'exploitation? –

20

En rapide vous pouvez l'utiliser comme

UIApplication.sharedApplication().idleTimerDisabled = true 
2

J'ai mis cette ligne de code dans mon contrôleur de vue encore nous obtenons toujours des clients disant que l'écran s'assombrira ou s'éteindra jusqu'à ce que quelqu'un touche l'écran. J'ai vu d'autres postes où non seulement vous définissez programatically

UIApplication.sharedApplication().idleTimerDisabled = true 

true mais vous devez le remettre à faux premier

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

Malheureusement, cela n'a toujours pas fonctionné et les clients obtiennent toujours des écrans tamisées. Nous avons un profil Apple Configurator qui empêche l'appareil de se mettre en veille, et encore certains écrans d'écran s'affaiblissent et le client doit appuyer sur le bouton d'accueil pour réveiller l'écran. Je mets maintenant ce code dans une minuterie qui se déclenche toutes les 2,5 heures pour réinitialiser la minuterie d'inactivité, j'espère que cela fonctionnera.

+1

Tristement mettre le code dans une fonction qui déclenche sur une minuterie n'a pas résolu le problème. J'ai laissé mon iPad allumé pendant plus de 24 heures et ça n'a pas baissé et aucune interaction. Selon l'un de nos clients, un utilisateur a utilisé l'appareil 15min auparavant, puis l'appareil est devenu faible. –

0

Nous avions le même problème. Il s'est avéré être un processus indésirable sur notre serveur MDM qui a été supprimé dans notre compte mais sur le serveur envoyait toujours la commande pour dim nos appareils.

9

Swift 3:

UIApplication.shared.isIdleTimerDisabled = true 
+0

Cela reste le même pour Swift 4 aussi –

Questions connexes