2012-05-16 2 views
4

Lorsque mon application revient d'un état suspendu se comporte de manière très étrange, je voudrais donc la redémarrer à partir de zéro dans cette situation. Mais je ne veux pas le redémarrer chaque fois qu'il entre en arrière-plan et revient au premier plan.Revenir à l'état Suspendu - iOS

Est-il possible de savoir si l'application revient d'un état suspendu ou si c'était juste un état de fond?

Merci d'avance!

+3

J'ai reçu un vote négatif pour cette question ... pourriez-vous expliquer pourquoi? Il me semble que c'est une question appropriée et claire. Quel est le problème avec ça? – Abramodj

+0

entre iOS4-iOS6, votre application sera suspendue en arrière-plan, sauf si vous utilisez l'un des services d'arrière-plan: _audio_, _location_ ou _voip_. Vous trouverez plus d'informations à ce sujet ici: http://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/ManagingYourApplicationsFlow/ManagingYourApplicationsFlow.html – holex

Répondre

0

Je crois que la réponse courte à cette question est n °

J'upvoted votre question, parce que je devais savoir si didEnterBackground a été appelé lors du passage de suspension à fond, et il n'a pas répondu. Si vous avez été abaissé pour avoir posé cette question, vous pouvez au moins être rassuré que le downvoter ait payé un (minuscule) prix.

documentation de l'Etat d'Apple n'est pas explicite, mais je dirais que la documentation implique que didEnterBackground est appelé dans cette situation, car il affirme qu'il existe des méthodes associées à chaque transition, mais il est pas explicite, donc J'ai testé.

J'ai écrit un court programme de test qui utilise la surveillance de région pour forcer une application à passer de l'état suspendu à l'arrière-plan. Ce n'est pas définitif, car il est également difficile de savoir si une application est passée de l'arrière-plan à l'état suspendu, mais après quelques minutes, les applications doivent être suspendues sauf si elles utilisent des modes ou des tâches en arrière-plan. En tirant le changement de région (à travers le débogueur), j'ai obtenu la région de sortie, mais pas didEnterBackground.