web制作をしているとなにかとキャッシュに悩まされます。(悩まされるというより、少し手間がかかります)

PCでchromeとかを使っている場合は、

  1. 検証ツールを開く
  2. リロードボタンを左クリック長押し
  3. 「キャッシュの消去とハード再読み込み」をクリック

という感じで簡単にキャッシュを削除したいサイトのみのキャッシュ削除ができますが、iPhone(Safari)の場合は、

  1. 設定画面を開く
  2. Safariをタップ
  3. 「履歴とWebサイトデータを消去」もしくは「詳細」から個別にデータを削除
  4. Safariに戻る

私はこれだと少し手間な気がしていたので、今回はiPhoneの「ショートカット」アプリを使ってスーパーリロードさせてキャッシュをクリアする方法の紹介です。

iOS16(2023/5/30時点の最新バージョン)での方法となります。

 

 

キャッシュクリアのショートカットの作成方法

ショートカットアプリが入っていない場合は、下記よりインストールしてください。

https://apps.apple.com/jp/app/%E3%82%B7%E3%83%A7%E3%83%BC%E3%83%88%E3%82%AB%E3%83%83%E3%83%88/id915249334

また、今回はショートカットアプリでJavaScriptを使用するので、アプリの設定から「スクリプトの実行を許可」してください。
設定アプリ > ショートカット > 詳細 > スクリプトの実行を許可

 

1. 新規ショートカットを作成する

ショートカットアプリを開いたら、

  1. 下図左側の「+(プラス)」アイコンをタップします。
  2. 下図右側の「アクションを追加」をタップします。
  1. 下図左側の「Web」をタップします。
  2. 下図右側の「WebページでJavaScript」を実行をタップします。

下図の左側の画面になるので、右側のようにJavaScriptを変更します。
(下記のソースをコピペしてください)

completion(window.location.reload(true));

JavaScriptを変更できたら、一旦完了します。

 

2. 共有から呼び出せるようにする

上記まででショートカットの作成はできましたが、共有から呼び出せるようにしないと機能しないので呼び出せるように設定します。

  1. 作成したショートカットを長押しすると下図左側のような画面になるので「詳細」をタップします。(「名称変更」からキャッシュクリアやスーパーリロード等分かりやすい名称に変更してもOKです。)
  2. 下図右側のように「共有シートに表示」を有効にします。

 

3. Safariの共有シートに追加されているか確認する

ショートカットを作成し、共有シートに追加する作業も完了したので、Safariを開いてちゃんと追加されているかどうかと動作確認をしていきましょう。

  1. 下図左側のようにSafariを開き、下部の共有アイコンをタップします。
  2. 下図右側のような画面になりスクロールしていくと、「キャッシュクリア(名称変更で設定した名称)」がでてきます。これが表示されていれば共有シートに追加した設定に問題ありません。
  1. 「キャッシュクリア」をタップして、共有シートを閉じます。
  2. 閲覧しているページに戻り、リロードしてキャッシュがクリアされていることを確認します。

これで完了です。キャッシュクリアされてない場合は、入力したJavaScriptに誤りがないか等を確認してみるといいかもしれません。

 

まとめ

共有シートを開いて一つタップするだけでキャッシュクリアできるのは便利なのでWeb制作者にとってはとても重宝すると思います。
iPadでも同じように設定できますので、iPadで画面確認したい時等は設定しておくといいかと思います。

この設定方法はiOSのバージョンによってところどころ設定方法が違ったりするようです。冒頭にも書きましたが、今回はiOS16(2023/5/30時点の最新バージョン)での方法となります。マイナーアップデートまでは上記の方法でできるのではないかと思います。
メジャーアップデートがきたらまた設定方法をチェックして本記事のアップデートか新たに記事にしようと思います。