Je développe une application de lecteur de musique/vidéo et je dois juste savoir comment désactiver le verrouillage automatique pendant que mon application est au premier plan.
Je sais que je dois utiliser [[UIApplication sharedApplication] setIdleTimerDisabled:YES];
et [[UIApplication sharedApplication] setIdleTimerDisabled:NO];
à un moment donné, mais quel est le meilleur endroit pour les mettre?
Activer la minuterie d'inactivité dans
- (void)applicationWillResignActive:(UIApplication *)application
et le désactiver dans
- (void)applicationDidBecomeActive:(UIApplication *)application
Le meilleur endroit pour le désactiver est dans didFinishLaunchingWithOptions. Le système se chargera automatiquement de faire en sorte que le réglage n'ait aucun effet lorsque l'application est en arrière-plan.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
application.idleTimerDisabled = YES;
return YES;
}
J'ai posté cette alternative parce que la réponse acceptée n'empêche pas le verrouillage automatique lorsqu'une alerte apparaît (courrier électronique, message, événement de calendrier, etc.) ou que le centre de notification ou le centre de contrôle est activé.
Swift 3.0:
Dans AppDelegate.Swift: application.idleTimerDisabled = true
En dehors de AppDelegate.Swift: UIApplication.shared().isIdleTimerDisabled = true
Et dans Swift 3.0:
UIApplication.shared().isIdleTimerDisabled = true
mes 2 centimes: pour xcode 9:
application.idleTimerDisabled = true
..... AppDelegate.Swift: 28: 15: 'idleTimerDisabled' a été renommé en 'isIdleTimerDisabled'
alors:
application.isIdleTimerDisabled = true