37 votes

Garder l'iphone actif pendant l'exécution du programme

Comment faire pour que l'iPhone reste actif (ne se verrouille pas) pendant que mon application est en cours ? Une idée ?

77voto

Adam Rosenfield Points 176408

Je ne suis pas sûr que cela empêche le verrouillage de l'appareil, mais vous pouvez empêcher l'écran de s'assombrir avec la fonction UIApplication 's idleTimerDisabled propriété :

[UIApplication sharedApplication].idleTimerDisabled = YES;

Dans la documentation :

Important : Vous ne devriez définir cette propriété qu'en cas de nécessité et vous assurer de la réinitialiser à NO lorsque le besoin n'existe plus. La plupart des applications devraient permettre au système d'éteindre l'écran lorsque le délai d'inactivité est écoulé. Cela inclut les applications audio. Avec une utilisation appropriée des services de session audio, la lecture et l'enregistrement se poursuivent sans interruption lorsque l'écran s'éteint. Les seules applications qui doivent désactiver le délai d'inactivité sont les applications de cartographie, les jeux ou les programmes similaires avec une interaction sporadique de l'utilisateur.

50voto

wulfovitch Points 1378

Ce code empêchera votre iPhone de se mettre en veille pendant que votre application est en cours d'exécution.

// avoid sleeping when this application is running
UIApplication *application = [UIApplication sharedApplication];
application.idleTimerDisabled = YES;
// Or simpler
[[UIApplication sharedApplication] setIdleTimerDisabled: YES];

1 votes

Note à tous ceux qui lisent cette réponse acceptée : cela ne fonctionnera que si vous avez une application déjà, ce qui n'est pas courant. Au lieu de cela, vous devriez utiliser [UIApplication sharedApplication].idleTimerDisabled = YES;

4voto

TwoStraws Points 4082

Si vous avez atterri ici en cherchant une réponse en Swift, c'est celle-ci :

UIApplication.sharedApplication().idleTimerDisabled = true

pour Swift 3

UIApplication.shared.isIdleTimerDisabled = true

L'avertissement de ce commentaire reste valable.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X