DEV Community

Kenji Suzuki
Kenji Suzuki

Posted on

iOS PWA Web push

2025-06-10

  • iOS 18.5
  • sw.clients.matchAll で必ず一つ返ってくる
  • clients.openWindow で指定した URL は開かない
  • manifest のスコープ外の URL を開くと、アプリ内ブラウザで開く
    • 左上に「閉じる」ボタンがあり、最低限の UI もある
  • client.navigate は使える
  • ただし PWA が terminate された状態で push 通知を受信して navigate すると、左上の「Done」ボタンが出てこないことがあった
    • おそらくバグ
  • client.postMessage でメッセージを送信して Web worker から開いたほうがいい
    • terminate された状態からの notificationclick イベント内では Web worker の message イベントハンドラがセットアップされてないので、待ち合わせが必要
  • web worker の id と ready の管理がメモリリークになってしまうので、とりあえず navigate で対応

Top comments (0)