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;
}
}
위 코드는 간혹 사용 권한에 대한 코코아 오류 513을 제공합니다. 캐시 디렉토리에 인터넷에있는 파일을 다운로드합니다. 명시 적으로 일부 사용 권한을 설정해야합니까? 왜 때로는 오류가 발생합니까? 6.0/7.0에서는 절대로 발생하지 않지만 가끔은 7.1에서 발생합니다.파일을 삭제할 때 가끔 오류가 발생했습니다.
캐시에있는 데이터의 전용 디렉토리이며 캐시의 모든 내용을 삭제하지 마십시오 – sage444
그 이론에 대한 증명이 있습니까, 루트 캐시 폴더에있는 파일을 삭제할 수 없다고 말하는가? – Pablo
아니요, 제 추측이지만 캐시 폴더의 콘텐츠를 보면 앱이 직접 만들지 않은 많은 파일을 볼 수 있습니다. – sage444