experts Hallo,Seule applicationWillResignActive appelée lorsque l'iPhone s'éteint?
J'ai testé ce qui happing avec mon application lorsque l'iPhone est éteint lorsque l'application est actif. Pour ce faire, j'ai connecté les méthodes de rappel du cycle de vie de l'application dans la console du débogueur xcode.
Le résultat était: Lorsque j'appuie sur le bouton marche/arrêt de l'appareil pendant un certain temps, applicationWillResignActive
est appelée. L'iPhone montre une option pour éteindre l'appareil sur l'écran. Si je reconnais éteindre, l'iPhone s'éteint. Mais apparemment pas d'autres méthodes de rappel comme applicationDidEnterBackground
ou applicationWillTerminate
sont appelés. Par conséquent toutes les données seraient perdues si je ne l'enregistrais pas dans applicationWillResignActive
. Bien que le iOS Application Programming Guide indique, on devrait enregistrer les données d'une application dans applicationDidEnterBackground
et applicationWillTerminate
. D'après vous, l'une des deux méthodes est-elle toujours appelée et n'est plus imprimée dans la console? Cordialement
Observation intéressante. Il semble possible qu'il soit appelé par la console est déconnecté d'ici là, mais je parie qu'il ne s'appelle même jamais. Mon intuition est que les applications iOS sont traitées comme la résiliation soudaine d'OSX, donc le processus est tué sans notification. Mais là encore je parie que les utilisateurs éteignent très rarement leur appareil (s'ils savent même comment). –
Mais l'appareil s'arrête également si la batterie est vide. Il est difficile de tester le comportement d'une application dans le cas d'une batterie vide. Parce que si vous connectez votre iPhone à l'ordinateur de développement pour enregistrer les méthodes de rappel dans la console, il est chargé! Mais je suppose que l'application se comporte de manière similaire à la désactivation manuelle de cas. – Coco
J'ai testé sur 3GS sous iOS 5.0 ... si la désactivation est reconnue, applicationDidEnterBackground et applicationWillTerminate sont appelés! L'appareil s'est connecté à la console avant de s'éteindre. – Dev