Vidéo: LaunchVibrate - Faites vibrer votre iPhone à l'ouverture d'une app ! (5.0+) 2025
Sur un appareil iOS exécutant iOS 4. 2 ou versions plus récentes, divers événements autres que la résiliation peuvent interrompre votre application pour permettre à l'utilisateur de répondre - par exemple exemple, des alertes de calendrier ou l'utilisateur appuyant sur le bouton Veille / Réveil - et votre application passe à l'état inactif .
Si l'utilisateur choisit d'ignorer une interruption, votre application revient dans l'état actif et continue à fonctionner comme auparavant. Si l'utilisateur décide d'appuyer sur l'alerte pour la traiter (ou si l'utilisateur touche le bouton Accueil pour quitter votre application), votre application passe alors à l'état d'arrière-plan , où il est suspendu mais reste en mémoire.
iOS vous envoie un certain nombre de messages pour vous permettre de savoir exactement ce qui se passe et vous donner la possibilité de prendre des mesures telles que sauvegarder les données utilisateur et informations d'état, signifie enregistrer au point où l'utilisateur était dans l'application. (Si une application doit continuer à s'exécuter, elle peut demander l'exécution du système.)
Comme l'application est en arrière-plan (en cours d'exécution ou suspendue) et toujours en mémoire, la relance est presque instantanée. Les objets d'une application (y compris ses fenêtres et vues) restent en mémoire, ils n'ont donc pas besoin d'être recréés lorsque l'application est relancée. Si la mémoire devient limitée, iOS peut supprimer les applications en arrière-plan pour libérer de l'espace pour l'application de premier plan.
Comme ces interruptions entraînent une perte temporaire de contrôle de votre application, les événements tactiles ne sont plus envoyés à votre application. Lorsque vous développez votre application, vous devez en tenir compte. Par exemple, si votre application est un jeu, vous devez interrompre le jeu lorsque votre jeu est interrompu.
En général, votre application doit stocker des informations sur son état actuel lorsqu'elle passe à l'état inactif et être capable de revenir à l'état actuel lors d'une nouvelle relance.
Dans tous les cas, la séquence d'événements commence de la même façon - avec le message applicationWillResignActive: envoyé à votre délégué d'application lorsque l'application est sur le point de passer de l'état actif à l'état inactif. Dans cette méthode, vous devez suspendre les tâches en cours, désactiver les minuteurs, limiter les taux d'images OpenGL ES (c'est-à-dire utiliser cette méthode pour mettre le jeu en pause) et, en général, mettre les choses en attente.
Ce qui se passe après cela dépend a) de la nature de l'interruption et b) de la façon dont l'utilisateur réagit à l'interruption. Votre application peut être déplacée en arrière-plan ou réactivée.