0

我正在制作录音机(m4a 扩展文件)。我正在为记录的文件(在目录中)的输出提供一个特定的 URL。我可以播放它,将文件的路径保存在数据库中,以后可以检索它。一切都很顺利。但我无法删除已保存/未保存的文件。每次我录制音频时,文件都会占用一个永久空间。我无法删除它们。

我通过互联网尝试过(当然是stackoverflow)。我得到这样的链接:我有视频 URL 并想使用此 URL 从 iPhone 中删除它

但是当我尝试使用以下代码删除它们时,它们会显示COCOA ERROR 4: [[NSFileManager defaultManager] removeItemAtPath:strPath error:&error];

请建议,并回复

4

3 回答 3

0

您通常会为保存在 Apps 文档目录中的资源完成此操作,如下所示:

unlink([pathForURL UTF8String]);

wherepathForURL是一个描述要删除的资源的路径的 NSString。

于 2013-10-28T19:26:58.270 回答
0

可能存在您提供的文件路径不正确的情况。如果正确,请尝试使用 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];
 }
于 2013-10-30T08:06:00.957 回答
0

这是我之前得到的路径,我无法写入文件

/var/mobile/Applications/8584F54E-75D2-4833-8826-29C125E53DBC/Library/Documentation/291013193758w.png

今天早上,我再次运行我的代码,。现在它的显示路径

/var/mobile/Applications/DDA14123-6A88-4756-B2E4-C4A3AA39AA5B/Documents/291013081335test.png

在这条路径上我可以写我的文件

两条路径之间的区别在于,第一个是 Library/Documentation,而第二个是 Documents

不知道有什么区别,但它现在正在工作

于 2013-10-31T06:44:01.870 回答