NSFileManager *fileMgr = [[NSFileManager alloc] init];
NSError *error = nil;
NSString *cachePath = [NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSArray *files = [fileMgr contentsOfDirectoryAtPath:cachePath error:nil];
for (NSString *path in files)
{
NSString *fullPath = [cachePath stringByAppendingPathComponent:path];
BOOL removeSuccess = [fileMgr removeItemAtPath:fullPath error:&error];
if (!removeSuccess)
{
return error;
}
}
上面的代码偶尔会给出cocoa错误513,这是关于权限的。我从缓存目录中的Internet下载文件。我是否必须明确设置某些权限或执行其他操作?为什么错误有时只会发生?它从未在6.0 / 7.0上发生,但有时在7.1上发生。
答案 0 :(得分:1)
正如我在评论中写的那样,我猜这个问题与删除一些不是由您的应用直接拥有的系统文件有关,不应删除。
例如,基本应用中的Cache
文件夹如何UIWebView
为避免出现奇怪错误,最好在Library/Caches
内创建专用文件夹并删除符合您需求的内容