從這個question時打印緩存看起來像你這樣做(C#版本) iOS版9,它會打印出記錄被刪除:
var websiteDataTypes = new NSSet<NSString>(new []
{
//Choose which ones you want to remove
WKWebsiteDataType.Cookies,
WKWebsiteDataType.DiskCache,
WKWebsiteDataType.IndexedDBDatabases,
WKWebsiteDataType.LocalStorage,
WKWebsiteDataType.MemoryCache,
WKWebsiteDataType.OfflineWebApplicationCache,
WKWebsiteDataType.SessionStorage,
WKWebsiteDataType.WebSQLDatabases
});
WKWebsiteDataStore.DefaultDataStore.FetchDataRecordsOfTypes (websiteDataTypes, (NSArray records) =>
{
for (nuint i = 0; i < records.Count; i++) {
var record = records.GetItem<WKWebsiteDataRecord> (i);
WKWebsiteDataStore.DefaultDataStore.RemoveDataOfTypes (record.DataTypes,
new[] {record},() => {Console.Write($"deleted: {record.DisplayName}");});
}
});
或者爲iOS 8,從ShingoFukuyama/WKWebViewTips你可以檢查子目錄餅乾,緩存,WebKit的在圖書館目錄中被刪除。
的iOS 8
大量的試驗和錯誤之後,我得出了以下結論:
使用NSURLCache和NSHTTPCookie刪除Cookie和緩存以同樣的方式,你用來做在UIWebView上。
如果您使用WKProccessPool,請重新初始化它。
刪除庫目錄中的Cookies,Caches,WebKit子目錄。
刪除所有WKWebViews
不過,問題是如何以驗證清除緩存 – User382
更新我的答案我有錯誤,而建設websiteDataTypes –
。它說「類型Foundation.NSSet不包含定義的添加和沒有擴展方法添加的類型Foundation.NSSet 可以被發現 –
User382