PWAをMacに入れるがうまくいかないとき|確かめる順番
PWAをMacに入れる操作が思ったとおりに進まないとき、外から見える症状はどれも似ています。メニューに項目が無い、押したのに何も起きない、できたアプリを開くとログイン画面が出る、通知が一度も来ない。言葉にするとどれも「うまくいかない」で終わってしまいますが、中身はまったく別の層で止まっています。層を先に特定すれば、直す場所は1つに決まります。逆に順番を飛ばして設定をいじると、効かない変更が積み上がって次の切り分けが読めなくなります。ここでは症状から層を割り出す表を先に置き、上から順に確かめる形で整理します。
症状を言葉にすると、確かめる場所が1つに絞れる
最初の分岐は1つだけです。アイコンができているかどうか。
できていないなら、止まっているのは入れる側の層です。命令が出てこない、印が出ない、確認の窓を閉じてしまった、のいずれかに収まります。できているのに様子がおかしいなら、入れる操作自体は通っていて、問題はそのアプリが引き継いだもの、つまりログインの情報や許可の設定、どのブラウザが持ち主かという点にあります。
この分岐が効くのは、両側で直す手段がまったく重ならないからです。キャッシュを消してもOSの版が足りないメニューは戻りませんし、入れ直しても間違った窓で答えた通知の許可は直りません。
| 症状 | 止まっている層 | 直す場所 |
|---|---|---|
| 命令そのものが見当たらない | OSの版、またはブラウザの選択 | 動作条件 |
| 命令はあるが印が出ない | サイト側の設定ファイル、または導入済みかどうか | サイト側、または判定を通さない命令 |
| 入れたのにタブで開く | 表示モード、または開き方 | 設定ファイルの表示指定 |
| 開くとログイン画面になる | 引き継がれなかった保存領域 | アプリの中で入り直す |
| 通知もバッジも来ない | 許可を答えた窓が違う | アプリの中で許可を出す |
| アイコンが見つからない | 保存先 | ホームフォルダのアプリケーション |
表の上から順に当てていきます。下の行は、上の行が片付いていることを前提にしています。
命令そのものがメニューに出てこない
この症状を作る条件は2つで、どちらも設定では覆せません。
1つ目はmacOSの版です。SafariでWebページをWebアプリとして保存する機能は、macOS Sonoma 14以降が必要だとAppleの資料に明記されています。それより前の版では「ファイル」メニューに「Dockに追加」の項目自体が存在せず、環境設定のどこを探しても出てきません。この機械でSafariの道を使うのはここで終わりになります。確認はAppleメニューの「このMacについて」で1つの画面で済みます。
2つ目はブラウザです。Firefoxのmac版には、これに相当する命令がありません。Webアプリの機能はWindows版に限って提供されており、macOSでは項目が並びません。一般的なPWAの解説を読んでからFirefoxのメニューを探した人が何も見つけられないのは、隠れているからではなく無いからです。
Safariでの入口は2か所あります。メニューバーの「ファイル」から「Dockに追加」、またはツールバーの共有ボタンから「Dockに追加」。Chromeでは右上の3点メニューから「キャスト、保存、共有」を開き、「ページをアプリとしてインストール」を選びます。古い記事にある「ショートカットを作成」と「ウインドウとして開く」のチェックボックスは、この項目に置き換わりました。チェックボックスを探し続けても見つかりません。現在の項目は、選べば必ず独立した窓になります。
Safariの手順を読みながらChromeの画面を見ている場合が、この症状の報告のうちかなりの割合を占めます。 前面にあるのがどちらかを先に確かめてください。
アドレスバーにインストールの印が出ない
これはChromium系に限った話で、前の項目とは分けて考えます。命令は使えます。出てこないのは自動で現れる印のほうです。
Chromeがアドレスバーに印を出すのは、サイトが導入の条件を満たしたときだけです。公開されている条件は、192×192ピクセルと512×512ピクセルの両方を含むアイコンの指定、開始URLの指定、表示モードがfullscreen・standalone・minimal-uiのいずれかであること、そして関連アプリを優先する指定が有効になっていないことです。ページがHTTPSで配信されていることも前提になります。どれか1つでも欠けていれば、ページを開いたまま待っても印は出ません。
条件を満たしているサイトで同じ症状が出る理由は3つあります。判定そのものに少し時間がかかるため、ページの表示が終わった1秒から2秒ほどあとに印が出ること。すでにこのブラウザで導入済みで、印が「開く」の表示に変わっていること。そして導入の記録がプロファイル単位で管理されるため、仕事用のプロファイルで入れたサイトが個人用のプロファイルでは未導入として扱われることです。
いずれの場合も先へは進めます。メニューの項目は、判定を満たさないサイトでも導入できる作りになっているからです。違いは、名前とアイコンをサイト側の指定ではなくページから拾う点にあります。あとから自分で付け直す前提で作るのが実際的です。
入れたのにタブで開く、窓の出方がおかしい
同じ言い方で報告される症状が、ここには3つ混ざっています。
1つ目は表示モードです。デスクトップのOSで使えるのはstandaloneとminimal-uiだけで、fullscreenを求めた指定は別のものに落ちます。browserを指定しているサイトはタブを求めているので、そのとおりタブで開きます。Safariの道ではこの症状は出にくく、設定ファイルを持たないサイトでも独立した窓で開きます。
2つ目は開き方です。Dockやアプリケーションの切り替え画面、Spotlightから開けばアプリとして開きます。ところが同じアドレスへのリンクをメールやチャットで受け取ってクリックすると、既定のブラウザが開きます。macOSはリンクの行き先をプロトコル単位で決めており、入れたWebアプリはhttpsの担当として名乗り出ないためです。アプリは正常で、リンクが届いていないだけです。仕事が他人からのリンクで始まる人は毎日この症状に当たるので、導入の失敗だと受け取りやすくなります。
3つ目はタブに見えて別物の窓です。書類のプレビュー、帳票の表示、ログインの途中で開く小窓など、通常の操作の一部として2つ目の窓を出すサイトがあります。独立した窓の中では、その子の窓にツールバーが付かず、戻る手段が見当たらなくなります。壊れてはいません。Safariで作ったWebアプリの設定には「ナビゲーションコントロールを表示」の項目があり、これを入れると戻る・進む・共有のボタンがツールバーに戻ります。Chromium系では窓の中の3点メニューが同じ役割を持ちます。
開くとログイン画面になる、あとから勝手に切れる
作った直後にログインを求められるのは、仕組みどおりの動きです。理由が分かると、入り直しで済む話なのかどうかが判断できます。
Safariは、Webアプリを作る時点でそのサイトのCookieをコピーします。コピーされるのはそれだけです。サイトがローカルストレージやIndexedDBに置いていた情報は、Safariの側に残ります。Cookieだけでログイン状態を組み立てているサイトは入った状態で始まり、別の場所に鍵を置いているサイトは入り直しが必要になります。アプリの窓の中で1回入り直せば、以降はブラウザとは無関係に状態を保ちます。
Chromium系は関係が逆になります。プロファイルの保存領域をそのまま共有するため、最初から入った状態で開きます。そのかわり、ブラウザ側でログアウトするとアプリ側も切れます。仕事用と個人用を分けたい場合は、先にプロファイルを分けてから、それぞれの中で作る順番になります。
作ってから何日も経ったあとに繰り返し切れる場合は、3つ目の原因を疑います。掃除用のツールや、期間を決めてCookieを消す設定が動いていないかを見てください。Safariで作ったWebアプリの設定には「プライバシー」タブがあり、Cookieやキャッシュを含むサイトのデータを消せます。別の項目を探している最中に触ってしまうことがある場所です。
通知もバッジも届かない
許可まわりの症状の中で、これは原因がほぼ1つに決まります。
Webアプリには追加の通知機能があります。未読の通知の件数が、Dockのアプリアイコンに赤いバッジとして表示されます。この機能は、Webサイトからの通知リクエストにSafari内ではなくWebアプリ内で応答することで利用できます。 出典: support.apple.com
ブラウザの側ですでに許可を出していても、その許可はアプリには渡りません。アプリの窓の中で許可を求める表示が出て、そこで許可を押す必要があります。
確認はシステム設定で取れます。サイドバーの「通知」を開き、右側の一覧にそのアプリがあるかを見てください。同じ資料に、WebアプリはWebサイトのURLではなくWebアプリの名前で一覧に並ぶと書かれています。ドメイン名を探すと見落とします。一覧に無ければ、ブラウザ側の表示がどうであれ、そのアプリには許可が出ていません。
設定が正しくても届かない条件が2つあります。集中モードは許可を変えずに配信だけを止めます。そしてサービスワーカー経由で通知を配るサイトの場合、その仕組みが動いている必要があるため、Macを再起動してから一度もアプリを開いていないと届かないことがあります。
アイコンが見つからない、2つできてしまった
SafariはWebアプリをホームフォルダのアプリケーションフォルダに保存します。ディスクの一番上にあるアプリケーションフォルダとは別の場所です。名前が同じで、どちらもSpotlightに出るため、Finderで見慣れたほうを開いて「消えた」と判断しがちです。削除するときにドラッグする先も、こちらのフォルダになります。
2つできる症状は、ブラウザの境界から生まれます。同じブラウザが同じサイトを二重に入れることはありませんが、2つのブラウザがそれぞれ入れることはできます。この2つは保存領域を共有しません。Chromeで入れたあとにSafariでも作ると、1つのサービスに対して別々のログインを持つアイコンが2つ並びます。どちらも同じファビコンを使うので、Dockの表示が小さい画面では見分けが付きません。あとからどちらがどのアカウントかを調べるより、作った時点で片方の名前とアイコンを変えるほうが早く終わります。
消し方も道によって違います。Safariで作ったものはホームフォルダからゴミ箱へ。Chromeで入れたものはアプリの窓の中からアンインストールを選び、そこに出るチェックボックスでChrome側のデータを消すかどうかを決めます。このチェックは初期状態では入っていません。
対応の一覧から読み取れる、詰まりやすいサイトの傾向
サイトをアプリにする道具の側から見ると、この6つの層のうち道具が引き受けられるのは下の3つです。ログインの持ち方、通知の許可の出し方、そして作ったものの置き場所と名前。上の3つはOSとブラウザの仕様なので、どの道具を使っても同じ条件が残ります。
用意されている一覧を眺めると、240以上のプリセットからすぐ作れる形で並んでいるのは、1日中開いたままになる種類のサイトです。どんなサイトが対象になりやすいかは対応サービス一覧で確かめられます。ここに並ぶサイトの多くは、通知とログインの2つで詰まりやすい側に入ります。つまり上の表の4行目と5行目が、実際に一番よく当たる層ということになります。
道具の側がどこまで引き受ける作りなのかはできることに並んでいます。作ったあとの直し方や消し方の手順は使い方ガイドにまとまっており、名前とアイコンを先に決めておく理由もそこで説明されています。費用の条件と対応するmacOSの版は料金で確かめられ、道具を入れる前に引っかかりやすい点はよくある質問に整理されています。
最後に決めることは1つです。表の上から順に当てて、最初に一致した行で止める。一致した行より下の設定を先に触らない。これだけで、効かない変更が積み上がる状態は避けられます。
よくある質問
Safariに「Dockに追加」の項目が出てこないのはなぜですか?
この機能はmacOS Sonoma 14以降で使えます。それより前の版では項目そのものが存在せず、設定で出すことはできません。まずAppleメニューの「このMacについて」で版を確認してください。版が新しいのに見当たらない場合は、前面にあるのがSafariかどうかを確かめます。Chromeでは「キャスト、保存、共有」の中に相当する項目があります。
Chromeのアドレスバーにインストールの印が出ないのは、サイトが対応していないからですか?
対応していない可能性はありますが、それだけではありません。印が出るのは192ピクセルと512ピクセルのアイコン、開始URL、対応する表示モードをHTTPSで満たしたときだけです。ただしメニューの項目は条件を満たさないサイトでも使えます。その場合は名前とアイコンをページから拾うので、作ったあとに自分で付け直してください。
作ったアプリを開くとログインを求められます。毎回入り直す必要がありますか?
最初の1回だけです。SafariはWebアプリを作るときにCookieだけをコピーするため、別の場所にログイン情報を置くサイトでは入り直しが必要になります。アプリの中で入り直せば以降は保持されます。何日も経ってから繰り返し切れる場合は、Cookieを定期的に消す設定や掃除用のツールが動いていないかを確認してください。
通知の許可をブラウザで出したのに、アプリに届かないのはなぜですか?
許可はブラウザからアプリへは渡りません。Appleの資料でも、バッジ表示にはWebアプリの中で許可に応答することが条件だと案内されています。システム設定の「通知」を開いて、右側の一覧にそのアプリの名前があるかを確認してください。一覧はサイトのURLではなくアプリの名前で並びます。無ければ許可が出ていません。