【Swift】WKWebViewのキャッシュなどを削除する方法

  • 2020年6月16日
  • 2020年6月16日
  • Swift

最終的にこの機能自体は使わないことにしましたが、せっかく調べたのでやり方をまとめます。
WKWebView でキャッシュ等のデータを削除する方法についてです。

今回参考にさせていただいた記事はこちら。

WKWebViewのキャッシュなどをクリアする – しめ鯖日記
https://llcc.hatenablog.com/entry/2017/05/02/223000

 

さて、削除方法ですが、データを削除したいタイミングで下記のコードを実行するだけです。

WKWebsiteDataStore.default().removeData(ofTypes: WKWebsiteDataStore.allWebsiteDataTypes(), modifiedSince: Date(timeIntervalSince1970: 0), completionHandler: {})

上記を実行後、確認したところ、きちんとキャッシュ等のデータが削除されていました。

ただし、こちらの方法ではキャッシュや Cookie など、削除可能なデータが全て削除されてしまうため、削除したいデータを指定したい場合は、下記のように第一引数に指定するように変更してください。

WKWebsiteDataStore.default().removeData(ofTypes: [WKWebsiteDataTypeMemoryCache], modifiedSince: Date(timeIntervalSince1970: 0), completionHandler: {})

なお、削除できるデータは下記の通りです。

  • WKWebsiteDataTypeDiskCache
  • WKWebsiteDataTypeMemoryCache
  • WKWebsiteDataTypeOfflineWebApplicationCache
  • WKWebsiteDataTypeCookies
  • WKWebsiteDataTypeSessionStorage
  • WKWebsiteDataTypeLocalStorage
  • WKWebsiteDataTypeWebSQLDatabases
  • WKWebsiteDataTypeIndexedDBDatabases

削除したい項目を、第一引数に配列形式で指定しましょう。

 

以上、Swift の WKWebView でキャッシュ等のデータを削除する方法でした。
ご参考になれば幸いです。

>株式会社シーポイントラボ

株式会社シーポイントラボ

TEL:053-543-9889
営業時間:9:00~18:00(月〜金)
住所:〒432-8003
   静岡県浜松市中央区和地山3-1-7
   浜松イノベーションキューブ 315
※ご来社の際はインターホンで「316」をお呼びください

CTR IMG