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:];

         //// Execute

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

             // Done

         }];

     } else {

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

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

         NSError *errors;

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

     }

 }

 swift:

 // MARK: - 清空缓存

     func ClearCache() {

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

         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)[]

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

             let errors: NSError

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

         }

     }

清除WKWebView的缓存的更多相关文章

  1. 【Android】Android清除本地数据缓存代码

    最近做软件的时候,遇到了缓存的问题,在网上看到了这个文章,感觉不错.分享给大家看看 文章出处:http://www.cnblogs.com/rayray/p/3413673.html /* * 文 件 ...

  2. 清除UIWebView的缓存

    //清除cookies NSHTTPCookie *cookie; NSHTTPCookieStorage *storage = [NSHTTPCookieStorage sharedHTTPCook ...

  3. Android清除本地数据缓存代码案例

    Android清除本地数据缓存代码案例 直接上代码: /*  * 文 件 名:  DataCleanManager.java  * 描    述:  主要功能有清除内/外缓存,清除数据库,清除shar ...

  4. Android清除本地数据缓存代码

    /*  * 文 件 名:  DataCleanManager.java  * 描    述:  主要功能有清除内/外缓存,清除数据库,清除sharedPreference,清除files和清除自定义目 ...

  5. Icon cache rebuilding with Delphi(Delphi 清除Windows 图标缓存源代码)

    清除Windows图标缓存的代码: procedure RebuildIconCache; .... const sr_WindowMetrics='Control Panel\Desktop\Win ...

  6. 如何清除本地DNS缓存 windows

    在您的网站迁移服务器时需要对域名所指向的IP进行更改,这时候在本机访问网站时就需要清除本地的DNS缓存信息,那么怎样清除呢? 首先我们应该明白清除DNS缓存信息的原理:当计算机对域名访问时并不是每次访 ...

  7. 设置清除html5页面缓存

    设置清除html5页面缓存 html5端设置 meta 标签: <meta http-equiv="Pragma" content="no-cache" ...

  8. 清除DNS解析缓存

    接下来在弹出的命令提示符窗口中输入“ipconfig /displaydns”,我们会看到系统中有多条我们之前使用过的DNS地址,如下图所示 5 然后,我们接着输入命令“ipconfig /flush ...

  9. clearstatcache清除文件状态缓存

    当使用下列任何函数时stat(),lstat(),file_exists(),is_writable(),is_readable(),is_executable(),is_file(),is_dir( ...

随机推荐

  1. 好用的內存鏡像工具Belkasoft RAM Capture

    来自俄罗斯的取证大厂Belkasoft,旗下的主力产品Belkasoft Evidence Center有不错的评价,除了BEC之外,咱们Yuri老兄也是佛心来着的,提供了一个免费内存镜像工具RamC ...

  2. tomcat虚拟目录映射网络共享目录

    <Host name="localhost" debug="0" appBase="webapps" unpackWARs=" ...

  3. 100怎么变成100.00 || undefined在数字环境下是:NaN || null在数字环境下是0 || 数组的toString()方法把每个元素变成字符串,拼在一起以逗号隔开 || 空数组转换成字符串后是什么?

    100怎么变成100.00?

  4. Matlab中的一些小技巧

    (转于它处,仅供参考) 1.. Ctrl+C 中断正在执行的操作 如果程序不小心进入死循环,或者计算时间太长,可以在命令窗口中使用Ctrl+c来中断.MATLAB这时可能正疲于应付,响应会有些滞后. ...

  5. HL7 2.6解析转XML(C#版)

    HL7 2.6解析转XML(C#版) 项目中需要解析HL7,所以在网上找到解析代码,但错误很多,所以我修改了一下,测试好用. using System; using System.Collection ...

  6. How do I remove javascript validation from my eclipse project?

    Right click your project Select Properties -> JavaScript -> Include Select Source tab (It look ...

  7. 使用Windows上的Eclipse 远程调试 linux下的Tomcat

    1:修改Linux上Tomcat的catalina.sh,第一行添加declare -x CATALINA_OPTS="-Xdebug -Xrunjdwp:transport=dt_sock ...

  8. Nginx反爬虫

    原文地址:http://abublog.com/nginx_agent_deny.html 进入到nginx安装目录下的conf目录,将如下代码保存为 agent_deny.conf # cd /us ...

  9. IDL中的HRESULT值

    IDL中的HRESULT值

  10. 【原】如何在jQuery中实现闭包

    原生JS中,闭包虽好用,但是很难用好,在jQuery中一样,都有一些点需要我们注意.jQuery中使用闭包的常见情况有以下几种: 1.$(document).ready()的参数 我们在写jQuery ...