web-dev-qa-db-fra.com

L'application PWA est initialisée à chaque fois après être passé en arrière-plan dans iOS

Je teste maintenant l'application PWA.

Sous Android, cela fonctionne bien. Même après avoir passé en arrière-plan, l'application PWA conserve la condition et l'utilisateur peut continuer son expérience.

Mais dans iOS, à chaque fois que l'application PWA passe en arrière-plan, elle est initialisée et chaque condition est écrasée comme si elle était rechargée. L'expérience utilisateur est terminée.

Comment puis-je empêcher cela dans iOS?

18
kochizufan

Mise à jour: Avec la dernière version d'iOS (j'ai testé avec 12.4), l'état PWA est préservé. Merci à Leox et Roshil d'avoir confirmé la même chose avec une autre version.

Réponse originale pour gérer l'ancienne version d'iOS/Safari:

Comme mentionné dans cet article , iOS ne conserve toujours pas l'état d'une application PWA entre les sessions :( Depuis la première prise en charge officielle pour les travailleurs des services est arrivée juste une semaine avant (fin mars 2018) dans iOS , nous pouvons nous attendre à voir plus de fonctionnalités telles que la préservation de l'état à l'avenir.

Nous n'avons pas de chance pour l'instant.

Vous pouvez également voir la section "Ce que les PWA peuvent faire sur Android et pas sur iOS" dans l'article lié sur les écarts actuels entre Android et iOS en ce qui concerne PWA) .

Comme solution de contournement, vous pouvez conserver l'état de votre application (page actuelle, données remplies par l'utilisateur, défilement si possible) dans IndexDB et lorsque l'application est rouverte, vous pouvez lire cela pour la restaurer. Cela fonctionne pour la plupart des cas d'utilisation.

20
Anand

Vous pouvez maintenant mettre à jour votre iOS vers la version 12.2 bêta 5 pour conserver l'état de l'application PWA après l'avoir restauré à partir de l'état minimisé. Merci à Apple!

6
Roshil K