39 votes

Désactiver le verrouillage automatique de l'écran dans iOS 5.1

La ligne de code suivante empêche l'application de verrouiller automatiquement l'écran après une période d'inactivité.

 [UIApplication sharedApplication].idleTimerDisabled = YES; //write this in applicationDidFinishLaunching
 

Cela fonctionne bien jusqu'à iOS 5.0. Mais iOS 5.1 ne respecte pas cette ligne et verrouille l'écran après un certain temps d'inactivité. Comment résoudre ce problème irritant?

Merci.

Modifier:

Le même code fonctionne bien lorsqu'il est installé dans le périphérique 5.0.1. Mais je ne sais pas pourquoi il ne fonctionne pas avec le périphérique 5.1.

25voto

orkoden Points 2262
 [[UIApplication sharedApplication] setIdleTimerDisabled: YES];
 

a travaillé pour moi sur iOS 5.1

24voto

Aki Points 1633

Juste paramètre [UIApplication sharedApplication].idleTimerDisabled = YES; dans

- (BOOL) application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions

fonctionne bien pour moi. Cependant, il y a une mise en garde. J'ai remarqué que chaque fois que j'invoque utilitaire de caméra pour prendre une photo, idleTimerDisable est défini pour PAS derrière la scène. Donc, juste après que j'upload mon image, j'ai dû appeler la ligne de code suivante à nouveau:

[UIApplication sharedApplication].idleTimerDisabled = YES;

Je ne serais pas surpris s'il y a plus d'endroits qui nécessitent de la même stratégie. Jusqu'à présent, cette approche a fonctionné sans problèmes pour moi.

5voto

jaydee3 Points 6967

Non, il ne devrait y avoir aucune différence. Peut-être que vous avez une autre erreur ..
Voir les diffs d'API iOS 5.0 à 5.1

3voto

jacekmigacz Points 764

Important: Vous devez définir cette propriété que si nécessaire et assurez-vous de le remettre à PAS lorsque le besoin n'existe plus. La plupart des les applications devraient permettre au système d'éteindre l'écran lorsque le ralenti timer est écoulé. Cela inclut les applications audio. Avec l'utilisation appropriée de Audio de la Session de Services, la lecture et l'enregistrement de procéder sans interruption lorsque l'écran s'éteint. Les seules applications qui devez désactiver le minuteur d'inactivité sont des applications de cartographie, de jeux ou de des programmes similaires avec sporadiques interaction de l'utilisateur.

Peut-être que Vous dépasse la limite de limite de temps d'éveil?

0voto

tomislav Points 131

Fonctionne correctement si votre application est enregistrée pour une tâche en arrière-plan, par exemple la mise à jour de la localisation GPS.

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