无法在ios中删除我的文件

时间:2013-10-30 07:31:48

标签: ios cocoa nsfilemanager

我正在尝试删除特定网址上的文件,  我的代码是:

    NSString *str= [outputFieldURL absoluteString];

       NSError *error;

        BOOL success = [[NSFileManager defaultManager] removeItemAtPath:str error:&error];



        if (!success) {
            NSLog(@"Error removing file at path: %@", error.localizedDescription);
        }
        else
        {
            NSLog(@"File removed  at path: %@", error.localizedDescription);
        }
    }

我正在获得输出: 在路径中删除文件时出错:无法完成操作。 (可可错误4。)

其中outputFieldURL在将其转换为字符串时显示以下值:
文件:///var/mobile/Applications/A55A56FA-478D-4996-807D-12F0E968F969/Documents/301013125211w.m4a

这是保存格式为.m4a的音频的路径

2 个答案:

答案 0 :(得分:5)

您的路径不正确

使用以下

NSString *str= [outputFieldURL path];

取代

NSString *str= [outputFieldURL absoluteString];

方法“removeItemAtPath:”需要文件的本地路径, 如果要使用url删除,则应使用“removeItemAtURL:”

答案 1 :(得分: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);
    }
}