Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Delete files from NSCachesDirectory programmatically

If I downloaded files in NSCachesDirectory programmatically in my app, is it also possible to delete the files programmatically?

like image 595
Emy Alsabbagh Avatar asked Feb 25 '13 10:02

Emy Alsabbagh


2 Answers

There may be many way for get full path of File from Directory, following is one of them.

NSArray *myPathList = NSSearchPathForDirectoriesInDomains(NSCachesDirectory, NSUserDomainMask, YES);
NSString *mainPath    = [myPathList  objectAtIndex:0];

mainPath = [mainPath stringByAppendingPathComponent:DirectoryName];

Here mainPath is Full Path of File.

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

}
like image 171
iPatel Avatar answered Nov 04 '22 14:11

iPatel


I think this snippet should work for you:

NSFileManager *fileMgr = [NSFileManager defaultManager];
NSArray *fileArray = [fileMgr contentsOfDirectoryAtPath:directory error:nil];

for (NSString *filename in fileArray)  {
    [fileMgr removeItemAtPath:[directory stringByAppendingPathComponent:filename] error:NULL];
}
like image 36
Anurag Dixit Avatar answered Nov 04 '22 14:11

Anurag Dixit