清除缓存的代码如下:
// 清理缓存
NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSArray *files = [[NSFileManager defaultManager] subpathsAtPath:cachePath];
NSLog(@"文件数 :%ld",[files count]);
for (NSString *p in files)
{
NSError *error;
NSString *path = [cachePath stringByAppendingString:[NSString stringWithFormat:@"/%@",p]];
if([[NSFileManager defaultManager] fileExistsAtPath:path])
{
[[NSFileManager defaultManager] removeItemAtPath:path error:&error];
}
}
在iOS8上可以清理缓存,在iOS9 和 iOS10上无效。
阿神2017-04-18 09:45:28
先確認一下路徑是否有效!你拿到的是絕對路徑還是相對路徑?
其次
NSString *path = [cachePath stringByAppendingString:[NSString stringWithFormat:@"/%@",p]];
最好使用 stringByAppendingPathComponent 這個方式