提问者:小点点

WKWebView缓存的旧S3桶


我有一个iOS应用程序,它从S3 bucket中获取PDF,并使用WKWebView显示PDF。

我已经更改/更新了PDF当访问S3链接时我看到了新的PDF当使用Android时我看到了新的PDF

然而iOS仍然显示旧的PDF? 有什么想法吗?

有没有清除WebView缓存的方法? 我试过设置清除Safari缓存我试过设置no-cache到S3 bucket PDF

viewController.html = "https://xxxx.s3.amazonaws.com/voucher/NEW.pdf"
let htmlData = "<!DOCTYPE html><html><header><meta name='viewport'></header><body><object width=\"100%%\" height=\"100%%\" align='center' data='\(html)'></object></body></html>"
webview.loadHTMLString(htmlData, baseURL: nil)

提前致谢


共1个答案

匿名用户

尝试清除本地web数据:

WKWebsiteDataStore.default().fetchDataRecords(ofTypes: WKWebsiteDataStore.allWebsiteDataTypes()) { records in
        records.forEach { record in
            WKWebsiteDataStore.default().removeData(ofTypes: record.dataTypes, for: [record], completionHandler: {})
            print("[WebCacheCleaner] Record \(record) deleted")
        }
    }