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. Oracle decode()函数应用

    在项目第一次遇到decode()函数,简单写一下用法. ')), ')), ')), ')), ')), ')), ')) from wg_jzmb jz, wg_jzfz fz where jz.s ...

  2. 外网无法访问本地IIS站点

    自己申请了个花生壳动态域名,本来是打算在IIs上建个站点测试一下的,路由器上的端口也配置好了,把80端口指向我本机.域名也通过 ping 测试确实指向了我这里的路由器.但是用这个域名老是访问不了我这个 ...

  3. Windows内核原理系列01 - 基本概念

    1.Windows API Windows 应用编程接口(API)是针对WIndwos操作系统用户模式的系统编程接口,包含在WindwosSDK中. 2.关于.NET .NET由一个被称为FCL的类库 ...

  4. MFC 如何改变对话框的默认背景颜色(转)

    下面介绍三种方法:实现改变对话框的默认背景颜色:   (1)可以在CLotteryApp::InitInstance()设置更新对话框的背景颜色       调用SetDialogBkColor(RG ...

  5. 深入jQuery中的Callbacks()

    引入 初看Callbacks函数很不起眼,但仔细一瞅,发现Callbacks函数是构建jQuery大厦的无比重要的一个基石.jQuery中几乎所有有关异步的操作都会用到Callbacks函数. 为什么 ...

  6. Linux如何查看进程、杀死进程、启动进程等常用命令

    Linux如何查看进程.杀死进程.启动进程等常用命令 关键字: linux 查进程.杀进程.起进程1.查进程    ps命令查找与进程相关的PID号:    ps a 显示现行终端机下的所有程序,包括 ...

  7. python基础知识9——模块2——常见内置模块

    内置模块 内置模块是Python自带的功能,在使用内置模块相应的功能时,需要[先导入]再[使用] 1.sys 用于提供对Python解释器相关的操作: sys.argv 命令行参数List,第一个元素 ...

  8. VI的一些快捷键

    . $ ctags –R --c-types=+px ($ 为Linux系统Shell提示符) .$ vi –t tag (请把tag替换为您欲查找的变量或函数名) .:ts (ts 助记字:tags ...

  9. C#中一种可调用的异常处理方法

    之前做异常处理时,感觉很麻烦,每个地方都要写try和catch,在博客园上看到一篇文章http://www.cnblogs.com/artech/archive/2012/10/28/automati ...

  10. python之路-Day3

    字典 dic{key:value} 元组与列表相似,唯一就是不能修改dic = {'name':'alex','age':18}查询print(dic['name']) #会报错get方法查询,查询之 ...