美文网首页iOS开发那点儿事iOS开发学习文档
removeItemAtPath 无法删除路径的问题

removeItemAtPath 无法删除路径的问题

作者: super_2e20 | 来源:发表于2020-07-15 16:26 被阅读0次
      [[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(@"删除成功");
    }

    相关文章

      网友评论

        本文标题:removeItemAtPath 无法删除路径的问题

        本文链接:https://www.haomeiwen.com/subject/mxkjhktx.html