@@ -750,10 +750,34 @@ - (void)userContentController:(WKUserContentController *)userContentController d
750750 callback (self, self.config , message.body );
751751 }
752752 }
753-
754-
755753}
756754
755+ - (void )clearAllCaches {
756+ if (@available (iOS 9.0 , *)) {
757+ NSSet *cacheTypes = [NSSet setWithArray: @[
758+ WKWebsiteDataTypeMemoryCache ,
759+ WKWebsiteDataTypeSessionStorage ,
760+ WKWebsiteDataTypeDiskCache ,
761+ WKWebsiteDataTypeOfflineWebApplicationCache ,
762+ WKWebsiteDataTypeCookies ,
763+ WKWebsiteDataTypeLocalStorage ,
764+ WKWebsiteDataTypeIndexedDBDatabases ,
765+ WKWebsiteDataTypeWebSQLDatabases ,
766+ ]];
767+ [self clearCachesWithSet: cacheTypes];
768+ } else {
769+ NSLog (@" API %s support @available(iOS 9.0, *)" , __func__);
770+ }
771+ }
757772
773+ - (void )clearCachesWithSet : (NSSet *)cacheSet {
774+ if (@available (iOS 9.0 , *)) {
775+ [[WKWebsiteDataStore defaultDataStore ] removeDataOfTypes: cacheSet
776+ modifiedSince: [NSDate dateWithTimeIntervalSince1970: 0 ]
777+ completionHandler: ^{}];
778+ } else {
779+ NSLog (@" API %s support @available(iOS 9.0, *)" , __func__);
780+ }
781+ }
758782
759783@end
0 commit comments