Reputation: 392
I need to clear cache after closing WebView
I use code from Xamarin iOS clear cache from WKWebView
But it has no effect. Already understand that records.Count equals 0
How to make it right?
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}");});
}
});
Upvotes: 1
Views: 1824
Reputation: 392
Solved problem by the following code:
NSHttpCookieStorage CookieStorage = NSHttpCookieStorage.SharedStorage;
foreach (var cookie in CookieStorage.Cookies)
CookieStorage.DeleteCookie(cookie);
Upvotes: 1