2

I need to remove cache in wkwebview.I am using below code but no success.

 [[NSURLCache sharedURLCache]removeCachedResponseForRequest:request];
    [[NSURLCache sharedURLCache] removeAllCachedResponses];
    [[NSURLCache sharedURLCache] setDiskCapacity:0];
    [[NSURLCache sharedURLCache] setMemoryCapacity:0];
Vandana
  • 49
  • 3
  • 7
  • 1
    What do you want to remove Please explain more. – Ayaz Nov 24 '14 at 12:54
  • How do you know it's not working? – Hot Licks Nov 24 '14 at 12:59
  • I have tested in my application.I have different webpages.When I have loaded first page some images are getting cached and all those images are carry forward in the second page load.I have tried above line of code to remove cache but every time it was picking the images from cache.Loading first page it took 8 sec and for second page 4 sec in `wkwebview`.But in uiwebview first page took 10 sec and second page took 8 seconds to load.In `uiwebview`I have used above code. – Vandana Nov 26 '14 at 17:53

2 Answers2

2
NSSet *dataTypes = [NSSet setWithArray:@[WKWebsiteDataTypeDiskCache,
                                         WKWebsiteDataTypeMemoryCache,
                                         ]];
[[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:dataTypes
                                           modifiedSince:[NSDate dateWithTimeIntervalSince1970:0]
                                       completionHandler:^{
        }];
netcanis
  • 69
  • 5
1

WKWebView Clear cache iOS 9.0 +

[[WKWebsiteDataStore defaultDataStore] fetchDataRecordsOfTypes:WKWebsiteDataStore.allWebsiteDataTypes completionHandler:^(NSArray<WKWebsiteDataRecord *> * _Nonnull records) {
    [[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:WKWebsiteDataStore.allWebsiteDataTypes forDataRecords:records completionHandler:^{
       CACHE_CLEARED_MSG;
    }];
}];
Sandeep Khade
  • 2,832
  • 3
  • 21
  • 37