问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

ios wkwebview 是否有缓存

发布网友 发布时间:2022-05-02 00:59

我来回答

1个回答

热心网友 时间:2022-05-21 13:40

有缓存的
如果清理缓存
- (void)dealloc {
[self.webView removeObserver:self forKeyPath:@"estimatedProgress"];
[self.webView removeObserver:self forKeyPath:@"title"];
[self clearCache];
}

/** 清理缓存的方法,这个方法会清除缓存类型为HTML类型的文件*/
- (void)clearCache {
/* 取得Library文件夹的位置*/
NSString *libraryDir = NSSearchPathForDirectoriesInDomains(NSLibraryDirectory,NSUserDomainMask, YES)[0];
/* 取得bundle id,用作文件拼接用*/
NSString *bundleId = [[[NSBundle mainBundle] infoDictionary]objectForKey:@"CFBundleIdentifier"];
/*
* 拼接缓存地址,具体目录为App/Library/Caches/你的APPBundleID/fsCachedData
*/
NSString *webKitFolderInCachesfs = [NSString stringWithFormat:@"%@/Caches/%@/fsCachedData",libraryDir,bundleId];

NSError *error;
/* 取得目录下所有的文件,取得文件数组*/
NSFileManager *fileManager = [NSFileManager defaultManager];
// NSArray *fileList = [[NSArray alloc] init];
//fileList便是包含有该文件夹下所有文件的文件名及文件夹名的数组
NSArray *fileList = [fileManager contentsOfDirectoryAtPath:webKitFolderInCachesfs error:&error];
/* 遍历文件组成的数组*/
for(NSString * fileName in fileList){
/* 定位每个文件的位置*/
NSString * path = [[NSBundle bundleWithPath:webKitFolderInCachesfs] pathForResource:fileName ofType:@""];
/* 将文件转换为NSData类型的数据*/
NSData * fileData = [NSData dataWithContentsOfFile:path];
/* 如果FileData的长度大于2,说明FileData不为空*/
if(fileData.length >2){
/* 创建两个用于显示文件类型的变量*/
int char1 =0;
int char2 =0;

[fileData getBytes:&char1 range:NSMakeRange(0,1)];
[fileData getBytes:&char2 range:NSMakeRange(1,1)];
/* 拼接两个变量*/
NSString *numStr = [NSString stringWithFormat:@"%i%i",char1,char2];
/* 如果该文件前四个字符是6033,说明是Html文件,删除掉本地的缓存*/
if([numStr isEqualToString:@"6033"]){
[[NSFileManager defaultManager] removeItemAtPath:[NSString stringWithFormat:@"%@/%@",webKitFolderInCachesfs,fileName]error:&error];
continue;
}
}
}
}
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
改革创新有效开发人才自主创新能力的育人制度包括哪些 逆水寒手游无间之境获得攻略-逆水寒手游无间之境怎么获得 “竞渡深悲千载冤”的出处是哪里 “以雪千载冤”的出处是哪里 千古奇冤 oppo手机相册裁剪照片模糊怎么办 琼海至泰安扇子崖攻略 益阳至泰安扇子崖距离多远 曲靖到泰安扇子崖多少公里 许昌驾车到泰安扇子崖多少公里 谁见过血玉?血玉是怎么样形成的?它有着什么样的奇异功能? WKWebView的缓存问题以及如何正确清理缓存 iOS 怎么使用WKWebView加载PDF 去黑边 车贷36期还了33期想提前还款可以吗? ios wkwebview加载不了library里的文件 什么是保险?保险是什么? 电力自动化系统集成 智能照明控制系统怎么接电灯 办理房产证的流程是怎么样的? 格力3匹空调壁挂好还是立柜式好 格力3匹挂机效果和柜机相比会差吗?家里客厅不大,想买挂机,省地方。挂机实物比普通挂机宽不少……纠结 北京哪个区是商业区,哪个区是教育区?比如武汉,汉口商业区,武昌教育区,汉阳工业区 圆柱锂电池好 还是方体的好有什么区别 求北京市东城区中学排名? 蔚蓝锂芯为什么打板?蔚蓝锂芯季报2021年什么时候出来?蔚蓝锂芯主要是做什么的? 职高计算机专业需要学什么 圆柱锂电池是怎么充电的 北京东城区初中排名 大学计算机专业都学那些课程 ?详解,好学么? 特斯拉为什么要使用 18650 规格的圆柱形锂离子电池 什么是保险保险的作用是什么保险有哪些基本业务 wkwebview使用时包含什么头文件 什么是保险?定义、分类与保险合同 ios wkwebview要不要清理缓存 盈余公积与资本公积的分配比例和利润比例是多少 都是什么保险啊,都包括什么? 如何使用wkwebview来替代uiwebview ios开发怎么在wkwebview上添加内容 如何整合uiwebview和wkwebview wkwebview的configuration 怎么存储 wkwebviewjavascriptbridge 在oc端怎么用 120开头 身份证是哪儿 天津 身份证的各区号 天津塘沽区的身份证号开头是多少 海淀区的身份证号码区段码多少 uiwebview和wkwebview的区别 122开头的身份证是哪个省的? 120622是哪的身份证? 身份证开头12是哪个省的? 幽门螺杆茵吃什么好