删除文件时偶尔会出错

时间:2014-04-19 09:08:39

标签: ios nsfilemanager

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上发生。

1 个答案:

答案 0 :(得分:1)

正如我在评论中写的那样,我猜这个问题与删除一些不是由您的应用直接拥有的系统文件有关,不应删除。

例如,基本应用中的Cache文件夹如何UIWebView enter image description here

为避免出现奇怪错误,最好在Library/Caches内创建专用文件夹并删除符合您需求的内容