从数据库永久删除文件ios
我正在制作一个录音机(m4a扩展文件)。 我正在为logging的文件的输出(在目录中)给出一个特定的URL。 我可以播放它,保存文件在数据库中的path,并可以稍后检索。 事情正在好转。 但我无法删除保存/未保存的文件。 每次录制audio时,文件都占用一个永久空间。 我无法删除它们。
我试过了互联网(stackoverflow of course)。 我有像这样的链接: 我有videourl,并希望使用此URl从iPhone中删除它
但他们正在显示COCOA错误4,当我尝试删除它们使用这样的代码:[[NSFileManager defaultManager] removeItemAtPath:strPath error:&error];
请build议,并回复
您通常为您已经保存在Apps文档目录中的资源完成此操作,如下所示:
unlink([pathForURL UTF8String]);
其中pathForURL
是一个NSString,它描述了要删除的资源的path。
这是我得到更早的path ,在那里我无法写文件
/var/mobile/Applications/8584F54E-75D2-4833-8826-29C125E53DBC/Library/Documentation/291013193758w.png
今天早上,我再次运行我的代码。 现在它的展示path
/var/mobile/Applications/DDA14123-6A88-4756-B2E4-C4A3AA39AA5B/Documents/291013081335test.png
在这条路上我能写我的文件
两条path之间的区别在于, 第一个是Library / Documentation , 第二个是Documents
不知道区别,但它现在正在工作
有可能是您提供的文件path不正确的情况。 如果它的正确,然后尝试跟随URL,它可能会解决您的问题
NSString *str= [outputFieldURL absoluteString]; NSError *error; NSURL *url = [NSURL URLWithString:str]; BOOL success = [[NSFileManager defaultManager] removeItemAtURL:url error:&error]; if (!success) { NSLog(@"Error removing file at path: %@", error.localizedDescription); } else { NSLog(@"File removed at path: %@", error.localizedDescription); } }
删除文件之前,你必须检查文件有没有:
NSFileManager* manager = [[NSFileManager alloc] init]; if ([manager fileExistsAtPath:path]) { [manager removeItemAtPath:path error:&error]; }