2010-06-25 21 views
1

J'ai une application avec quelques animations qui sont appelées par des minuteurs. Quand une animation se termine, une minuterie est appelée pour en commencer une autre. Si l'iPhone dort et nécessite un déverrouillage pour l'activer, les animations ne démarrent pas. C'est évidemment parce que la minuterie se termine alors que l'application est endormie et que la fonction de redémarrage d'une animation n'est pas appelée. Ce que je veux faire est de vérifier si les animations sont en cours d'exécution et sinon les activer - ou peut-être les arrêter quand l'application dort et les active quand elle recommence.iPhone App: Comment appeler une fonction après que mon iPhone a été en veille?

J'ai essayé de trouver une méthode pour le faire, mais après des heures de googling je ne trouve rien - il est tout à fait possible que je ne cherche pas la bonne chose!

Une suggestion serait grandement appréciée?

Existe-t-il également un moyen de forcer l'iPhone à se mettre en veille lorsqu'il est connecté à XCode?

MERCI

Répondre

2

Lorsque l'écran se verrouille iPhone le UIApplicationWillResignActiveNotification de notification est envoyée. Une fois l'écran déverrouillé, la notification UIApplicationDidBecomeActiveNotification est envoyée. Vous avez deux choix:

  1. Vous pouvez vous inscrire pour obtenir NSNotificationManager UIApplicationDidBecomeActiveNotification notification et redémarrez votre minuteries après réveil si elles sont invalidés.

  2. Vous pouvez implémenter applicationDidBecomeActive dans votre délégué d'application et y redémarrer vos minuteurs s'ils sont invalidés.