2010-10-11 21 views
3

Mon application dispose d'un écran sur lequel elle interroge constamment un serveur pour obtenir des informations. Lorsque l'utilisateur n'interagit pas avec l'application, il reste inactif, l'écran devient sombre puis noir. En arrière-plan, l'application tente toujours d'interroger le service, mais obtient les codes d'erreur -1009 de NSURLConnection. (-1009 == NSURLErrorNotConnectedToInternet)L'appareil iOS est inactif, le réseau s'arrête. Comment puis-je être averti de l'état "inactif"?

Mon idée est d'arrêter d'interroger le serveur pour obtenir des informations, une fois que l'application entre dans cet état inactif.

Existe-t-il un moyen d'être averti lorsque l'appareil passe à l'état inactif?

Répondre

2

Si l'écran est verrouillé, vous serez averti par la méthode suivante;

- (void)applicationWillResignActive:(UIApplication *)application 

Apple documentation

+0

merci oh. Je pensais que cette méthode a été introduite avec iOS 4.0 et ne l'a pas regardé pour la question spécifique. J'ai pris un deuxième coup d'oeil et il est pris en charge à partir d'iOS 2.0. – Tomen

+0

Cela ne prévient pas lorsque l'écran est verrouillé, mais seulement que l'application est passée en arrière-plan, ce qui peut se produire lorsque vous appuyez sur la touche HOME. Le réseau pourrait encore être en cours d'exécution. – Cthutu