iOS の PWA 制限
一言まとめ
iOS では全ブラウザが WebKit を使うため、PWA 機能は WebKit の実装に依存する。Push 通知は iOS 16.4 から使えるが、Background Sync・Web Bluetooth / NFC・自動インストールプロンプト・Fullscreen API は未対応。
目次 6 sections
調査時点: 2026-04(2025 年時点の状況)。
PWA(Progressive Web App)は、Web 技術で作られ、ホーム画面へのインストールやオフライン動作など通常のアプリに近い機能を備える Web アプリ。
構造的な前提
iOS のブラウザは Safari も Chrome も Firefox も Apple の WebKit エンジンを使う。PWA でできることは WebKit チームの実装判断で決まる。
使えるもの
- Push Notifications: iOS 16.4(2023-03)から。Safari 18.4 で Service Worker 不要の Declarative Web Push が入った。
- ストレージ: Safari 17 でクォータが総ディスク容量の最大 60% に拡大し、Persistent Storage API が追加された。
未対応(当面の見通しなし)
- Background Sync
- Web Bluetooth / Web NFC
- 自動インストールプロンプト(
beforeinstallprompt相当) - Fullscreen API
- File System Access API
ファイルの保存(2026-06 時点)
<a download>は Blob URL で動かない不具合が繰り返し出ており、standalone モードでは利用者を PWA 内に閉じ込めるバグ(WebKit Bug #236943)が記録されている- Web Share API Level 2(
navigator.share({ files }))は iOS 15 以降で使え、standalone モードでも動く。画像の保存はこちらを一番手にする
手順とフォールバック順は iOS Safari で canvas の画像を保存させる にまとめた。
関連
更新履歴
- 2026-04-19: 初版(ローカル調査ノート)
- 2026-10-17: Wiki へ移植、概念ページとして再構成。ファイル保存の制約を追加。冒頭に定義を追加
同じトピック — Web
- 単一画面の Canvas ツールのスタック選定(vanilla TS / Svelte / Preact と PWA ツーリング)
- DAM カラオケ検索(clubdam)の挙動と制約
- Core Web Vitals と画像最適化
- favicon の最小構成(SVG + ICO + apple-touch-icon + manifest)
- フロントエンドのフレームワークとツールの動き(2025)
- HTML-in-Canvas API
- HTML-in-Canvas の実現性(a11y・性能・セットアップ・シェーダー)
- iOS Safari で canvas の画像を保存させる(download 属性 / Web Share / 長押し)
- 日本語 Web フォントのライセンスとサブセット化
- 個人サイトのライブウィジェットと外部 API の制限
- モダン CSS / Web API の対応状況(2025-2026)
- OPFS(Origin Private File System)
- Google Places API のキーの守り方(ブラウザ露出 vs サーバ中継)
- 機能別 React / TS ライブラリ対応表(2026-04 時点)
- URL 長の上限と日本語の URL エンコード膨張
- 書き出すテキストファイルの UTF-8 BOM と Markdown 継続行
- 縦書き Web の実装(writing-mode・ルビ・圏点・縦中横・禁則)
- PWA の Web Share Target(Android)の実測と落とし穴
- WebAssembly(Wasm)
- YouTube oEmbed で動画タイトルとチャンネル名を取る