1

我正在尝试清除 iOS 10 中的缓存。但removeAllCachedResponses无法正常工作。在iOS10removeAllCachedResponses中坏了。因为这在 iOS 9 中工作。

4

2 回答 2

1

这就是你在说的吗?

[[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
}];
于 2016-10-03T10:25:01.507 回答
-2

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

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

}
于 2016-10-03T10:21:15.093 回答