web-dev-qa-db-ja.com

PWAアプリケーションは、iOSでバックグラウンドに移行した後、毎回初期化されます

現在、PWAアプリケーションをテストしています。

Androidでは、うまく機能します。バックグラウンドに移行した後でも、PWAアプリは状態を維持し、ユーザーはエクスペリエンスを継続できます。

しかし、iOSでは、PWAアプリがバックグラウンドになるたびに初期化され、リロードされるようにすべての条件が破棄されます。ユーザーエクスペリエンスは終了します。

IOSでこれを防ぐにはどうすればよいですか?

18
kochizufan

Update:iOSの最新バージョン(12.4でテストしました)では、PWAの状態が保持されます。 LeoxとRoshilが別のバージョンで同じことを確認してくれたことに感謝します。

iOS/Safariの古いバージョンを処理するための元の答え:

この記事で述べたように 、iOSはまだセッション間のPWAアプリの状態を保持しません:(サービスワーカーに対する最初の公式サポートがiOSでちょうど1週間前(2018年3月末)に来たため、将来的には状態を保持するなど、より多くの機能が期待できます。

今のところ運が悪い。

AndroidとiOSのPWAに関する現在のギャップに関するリンク先の記事の「AndroidおよびiOSではない)」セクションを参照することもできます。 。

回避策として、アプリケーションの状態(現在のページ、ユーザーが入力したデータ、可能な場合はスクロールスタート)をIndexDBに保持し、アプリケーションを再度開いたときにそれを読み取って復元できます。ほとんどのユースケースで機能します。

20
Anand

IOSを12.2ベータ5に更新して、最小化された状態から復元した後のPWAアプリの状態を保持できるようになりました。アップルに感謝!

6
Roshil K