Problème avec le NSTIMER et la version 2.2 du Firmware.
Bonjour,
Avez-vous remarquer qu'il y a un souci avec le NSTIMER (FireDAte et scheduledTimerWithTimeInterval) lorsque le téléphone se met en veille ?
J'ai une appli qui utilise NSTIMER atFireDate qui ne fonctionne plus depuis la mise à jour de firmware 2.2. En effet la mise en veille provoque le gel du timer (comme si le temps s'arrêtait) et reprend quand la mise en veille est désactivé. La FireDate est donc passée et donc mon appli plante.
Autre question : existe-t-il au autre moyen pour remplir cette fonction (en pouvant faire chose autre pendant l'exécution)
Je vous remercie par avance.
Alexandre Pestre.
Avez-vous remarquer qu'il y a un souci avec le NSTIMER (FireDAte et scheduledTimerWithTimeInterval) lorsque le téléphone se met en veille ?
J'ai une appli qui utilise NSTIMER atFireDate qui ne fonctionne plus depuis la mise à jour de firmware 2.2. En effet la mise en veille provoque le gel du timer (comme si le temps s'arrêtait) et reprend quand la mise en veille est désactivé. La FireDate est donc passée et donc mon appli plante.
Autre question : existe-t-il au autre moyen pour remplir cette fonction (en pouvant faire chose autre pendant l'exécution)
Je vous remercie par avance.
Alexandre Pestre.
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Alexandre.
A part empêcher la mise en veille (property idleTimerDisabled de UIApplication), je n'ai pas d'idée.
Pour accepter une mise en veille et reprendre ensuite, il faudrait chercher si les appli peuvent s'inscrire pour recevoir une notification au moment de la mise en veille/réveil pour réagir en conséquence.
Il y a deux méthodes delegate qui vont bien avec UIApplicationDelegate:
Voir la doc d'Apple:
Handling Critical Application Tasks
C'est le phénomène inverse que je souhaite. Ce que je souhaite c'est mettre en veille l'appli mais que le timer reste actif pour la réveiller à l'heure dite. Or quand la veille se met en marche le timer est stoppé à l'état ou il est, donc pas de reveil de l'appli à l'heure dite.
Alexandre.