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. uri和url的简单理解

    URL:统一资源定位符 也就是网址 例如 http://www.microsoft.com/ URI:通用资源标志符 http://www.acme.com/support/suppliers.htm

  2. CSS3知识点总结----属性选择器

    1.E[attr]只使用属性名,但没有确定任何属性值 2.E[attr="value"]指定属性名,并指定了该属性的属性值 3.E[attr~="value"] ...

  3. NTFS u盘支持 - centos6

    uname -r bash-4.1# uname -r2.6.32-431.el6.x86_64 ---- http://repository.it4i.cz/mirrors/repoforge/re ...

  4. 如何优雅的实现INotifyPropertyChanged接口

    INotifyPropertyChanged接口在WPF或WinFrom程序中使用还是经常用到,常用于通知界面属性变更.标准写法如下: class NotifyObject : INotifyProp ...

  5. Tomcat并发数优化,修改service.xml性能调优 增加最大并发连接数

    可以在控制台的启动信息里看见,默认状态下没有被打开nio配置,启动时的信息,如下: 2010-2-1 12:59:40 org.apache.coyote.http11.Http11Protocol ...

  6. mongo group by

    mongo的写法与mysql等sql有着天壤之别,如最近在统计爬虫抓取的数据,其中一个就是按字段从大到小取前十个: sql写法:select count(id) from invest group b ...

  7. Android之sqlite的使用 (转载)

    Android中的SQLite使用 首先创建数据库类 public class DatabaseHelper extends SQLiteOpenHelper {       private stat ...

  8. Spring pom配置详解

    转载至http://blog.csdn.net/ithomer/article/details/9332071# 原博主注释的很详细 <project xmlns="http://ma ...

  9. 无向图的DFS遍历(方法之一)

    如果看不懂辅助解释在后面第点 1.录入方式: 输入 u - v  表示一边的2个端点 2.存储结构 struct edge { int from; int to; int next; } e[MAXN ...

  10. Python全栈开发day9

    一.面向对象进阶 1.利用python反射查看面向对象成员 对于对象:反射既可以找对象,类的成员 对于类:反射只能找类中的成员 2.利用反射操作模块(查找类,创建对象,查找对象中字段) 1 2 3 4 ...