[[NSFileManager defaultManager] removeItemAtPath:path error:nil]
这里错误的原因是,沙盒目录的前半段地址:file:///var/mobile/Containers/Data/Application/D186A9B5-FE94-424E-AFCF-6D79AEA71F3B/,是一个虚拟地址,每次启动的app的时候这个地址是会变化的(D186A9B5-FE94-424E-AFCF-6D79AEA71F3B)。
存resourceUrl时不能存储全部地址,而应该只是缓存后半部地址(VideoBackgroundMusic.mp3),前面部分的地址,使用[NSSearchPathForDirectoriesInDomains(NSApplicationSupportDirectory, NSUserDomainMask, YES) objectAtIndex:0]获取,然后拼接即可。
NSString *path = [NSSearchPathForDirectoriesInDomains(NSLibraryDirectory, NSUserDomainMask, YES).firstObject stringByAppendingPathComponent:@"VideoBackgroundMusic.mp3"];
BOOL success = [[NSFileManager defaultManager] removeItemAtPath:path error:nil];
if (success) {
NSLog(@"删除成功");
}
网友评论