博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
清除WKWebView的缓存
阅读量:4360 次
发布时间:2019-06-07

本文共 1792 字,大约阅读时间需要 5 分钟。

清除WKWebView的缓存

OC写法:     swift写法再下下面。

清除WKWebView的缓存,让H5页面一刷新就更新至最新的页面

 

直接上代码~!~~

要区分iOS9.0和8.0两种

- (void)deleteWebCache {

    

    if ([[UIDevice currentDevice].systemVersion floatValue] >= 9.0) {

        NSSet *websiteDataTypes

        = [NSSet setWithArray:@[

                                WKWebsiteDataTypeDiskCache,

                                //WKWebsiteDataTypeOfflineWebApplicationCache,

                                WKWebsiteDataTypeMemoryCache,

                                //WKWebsiteDataTypeLocalStorage,

                                //WKWebsiteDataTypeCookies,

                                //WKWebsiteDataTypeSessionStorage,

                                //WKWebsiteDataTypeIndexedDBDatabases,

                                //WKWebsiteDataTypeWebSQLDatabases

                                ]];

        All kinds of data

        //NSSet *websiteDataTypes = [WKWebsiteDataStore allWebsiteDataTypes];

        Date from

        NSDate *dateFrom = [NSDate dateWithTimeIntervalSince1970:0];

        Execute

        [[WKWebsiteDataStore defaultDataStore] removeDataOfTypes:websiteDataTypes modifiedSince:dateFrom completionHandler:^{

            // Done

        }];

 

    } else {

        

        NSString *libraryPath = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES) objectAtIndex:0];

        NSString *cookiesFolderPath = [libraryPath stringByAppendingString:@"/Cookies"];

        NSError *errors;

        [[NSFileManager defaultManager] removeItemAtPath:cookiesFolderPath error:&errors];

        

    }

}

 

 

swift:

// MARK: - 清空缓存

    func ClearCache() {

 

        let dateFrom: NSDate = NSDate.init(timeIntervalSince1970: 0)

 

        if #available(iOS 9.0, *) {

            let websiteDataTypes: NSSet = WKWebsiteDataStore.allWebsiteDataTypes()

            WKWebsiteDataStore.defaultDataStore().removeDataOfTypes(websiteDataTypes as! Set<String>, modifiedSince: dateFrom) {

                print("清空缓存完成")

            }

        } else {

              let libraryPath = NSSearchPathForDirectoriesInDomains(.LibraryDirectory, .UserDomainMask, true)[0]

            let cookiesFolderPath = libraryPath.stringByAppendingString("/Cookies")

            let errors: NSError

            try? NSFileManager.defaultManager().removeItemAtPath(cookiesFolderPath)

        }

    }

转载于:https://www.cnblogs.com/YangFuShun/p/5855829.html

你可能感兴趣的文章
SVG笔记
查看>>
linux下使用dd命令写入镜像文件到u盘
查看>>
物联网架构成长之路(8)-EMQ-Hook了解、连接Kafka发送消息
查看>>
2018-2019-1 20165234 20165236 实验二 固件程序设计
查看>>
IDEA的GUI连接数据库写入SQL语句的问题总结
查看>>
Xpath在选择器中正确,在代码中返回的是空列表问题
查看>>
leecode第一百九十八题(打家劫舍)
查看>>
【BZOJ 1233】 [Usaco2009Open]干草堆tower (单调队列优化DP)
查看>>
07-3. 数素数 (20)
查看>>
写一个欢迎页node统计接口Py脚本(邮件,附件)-py
查看>>
计算两个日期之间的天数
查看>>
Android关于buildToolVersion与CompileSdkVersion的区别
查看>>
袋鼠云日志,日志分析没那么容易
查看>>
缓存穿透 缓存雪崩 缓存并发
查看>>
了解你的Linux系统:必须掌握的20个命令
查看>>
js setInterval 启用&停止
查看>>
knockoutJS学习笔记04:监控属性
查看>>
Linux下启动/关闭Oracle
查看>>
session和cookie的区别
查看>>
oracle 数据库、实例、服务名、SID
查看>>