web-dev-qa-db-ja.com

Chrome Service Worker iOS Support

Appleが数ヶ月前にiOS 11.3のService Workerサポートを発表したので、最近、Service WorkerをiOSで動作させるように試み始めました。Safariでは、Webサイトにアクセスした後、期待どおりに動作します。オフラインで動作します。ただし、Chromeで同じ機能を使用しようとすると、断続的な結果が発生しました。具体的には、サービスワーカーは、1ページおきにのみページを更新し、オフラインになった後の元の更新はその1つであるnot機能しています。

ChromeはSafariのバージョンに基づいて構築されているため、この動作について混乱しています。

これは、Chrome iOS for Service Workers)のサポートが不完全なためですか?iOSではChromeなので、簡単にデバッグする方法がわかりませんどちらかですので、問題の追跡に役立つその他のヒントをいただければ幸いです。

10
Alex Baker

iOSのChromeはサービスワーカーをサポートしていません 現在(2018年5月現在)、それに興味がある場合は[ホーム画面に追加]オプションも使用できません。発生しているオフラインページの読み込みは、通常のブラウザキャッシュから行う必要があります。

これは公式ドキュメントです Appleのweb-kitページから。

更新:この投稿の以前のバージョンでは、Service Worker APIはWKWebViewを使用するすべてのアプリケーションで使用できると述べていました。現時点では、Safari、SFSafariViewControllerを使用するアプリケーション、およびホーム画面に保存されたWebアプリケーションでのみ使用できます。

特に、Chromeは、iOSのブラウザーエンジンとしてWKWebViewを使用します。これは、上記のステートメント(上記のリンクで確認できます)によると、Service Workerのサポートはまだありません。したがって、iOSでService Workerを使用できる唯一の方法は、Safariブラウザーを使用するか、ネイティブアプリ内で上記のサポートされているWebビューのいずれかを使用することです。

記事はこちら iOSにまだ欠けているPWAのすべての機能について。これは急速に成長している分野であることを覚えておいてください。特にドキュメント/記事が古くなっている場合は特に、現在何が該当するかを常に確認してください。

これはアダプタです iOSでロードされたページのChrome開発ツールでのデバッグに役立ちます-webkit/safari。 Android Chromeと同じくらい簡単にデバッグできるようになることを願っています!

9
Anand