繁体   English   中英

如何清除iOS10中的缓存?

[英]How to clear cache in iOS10?

我正在尝试清除iOS 10中的缓存。但是removeAllCachedResponses无法正常工作。 iOS10中的removeAllCachedResponses是否损坏。 由于这在iOS 9中工作。

这是你在说什么吗?

[[NSURLCache sharedURLCache] removeAllCachedResponses];

您还可以修改请求的缓存行为,以有选择地缓存响应。 如果您偶然使用AFNetworking ,则可以使用setCacheResponseBlock 例如,在一个项目中,我将其设置为对所有大型视频和音频文件返回nil 但是允许它缓存较小的图像文件。

[streamingOperation setCacheResponseBlock:^NSCachedURLResponse *(NSURLConnection *connection, NSCachedURLResponse *cachedResponse) {
    return nil; // Ensures we are not unecessarily caching asset data to Cache.db
}];

如果要从应用程序目录中删除文件。 目录File的路径有很多方法,以下是其中一种。

NSArray *myPathList = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *mainPath    = [myPathList  objectAtIndex:0];

mainPath = [mainPath stringByAppendingPathComponent:DirectoryName];

现在您可以在此路径下删除文件, mainPath是文件的完整路径。

NSFileManager *fileManager = [NSFileManager defaultManager];
NSError *error;
BOOL fileExists = [fileManager fileExistsAtPath:mainPath];

if (fileExists)
{
     BOOL success = [fileManager removeItemAtPath:mainPath error:&error];
     if (!success) NSLog(@"Error: %@", [error localizedDescription]);

}

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM