如何从iphone中的缓存目录中删除文件

时间:2014-01-18 14:24:01

标签: ios iphone xcode

我在相机应用程序中工作,我可以录制视频并将其保存在以下目录中:

file:///var/mobile/Applications/2683FFEC-63AB-4004-831B-DE38053CA472/Library/Caches/0C2E7E7C-5D78-4989-9C8E-259B3595BAC8-6498-0000042F24AB2D98.mov

当我进入相机应用程序时,我可以看到视频,但我想在退出应用程序时删除此视频,我到目前为止这样做了

NSFileManager *fileManager = [[NSFileManager defaultManager];
[fileManager removeItemAtPath:THEABOVEURL error:&error];

但没有任何反应,并说cocoa error 4.The operation couldn’t be completed. No such file or directory

但我确信文件存在,因为我可以使用上面提到的确切网址播放视频,我现在该怎么办?

2 个答案:

答案 0 :(得分:0)

可可错误4意味着

NSFileNoSuchFileError = 4, // Attempt to do a file system operation on a non-existent file

所以看起来该文件不存在。

您可能希望在删除文件时确定文件是否存在,可能是您使用的网址有问题?

- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error

它需要一个字符串作为第一个参数,我在你的代码中看到

[vedioPaths objectAtIndex:THEABOVEURL]

看起来THEABOVEURL应该是一个索引,而vedioPaths包含表示文件路径的所有NSString,添加一些NSLog以查看这些变量是否包含删除文件的正确信息。

答案 1 :(得分:0)

好的,我解决了问题,我试图删除

所在的网址
- (BOOL)removeItemAtPath:(NSString *)path error:(NSError **)error

方法希望NSUrl作为参数我将此字符串转换为url并使用此方法

NSURL *urlfromString= [NSURL URLWithString:ABOVEURL];
[fileManager removeItemAtURL:urlfromString error:&error];

这解决了我的问题