如何从 iTunes 文件共享文件夹 iOS 中删除文件

Posted

技术标签:

【中文标题】如何从 iTunes 文件共享文件夹 iOS 中删除文件【英文标题】:How to delete a file from iTunes file sharing folder iOS 【发布时间】:2012-07-28 10:28:13 【问题描述】:

获取位于 iTunes 文件共享文件夹中的文件的路径没有问题。我想要的是在点击删除按钮时将它们完全删除。

还有一个问题..按下删除按钮时是否可以区分文件扩展名?例如,如果它是一个 avi 文件,那么提醒用户他将要删除一部电影?

谢谢...

感谢 Yannik L。它现在可以工作了..我只是想知道一件事..如何删除带有非英语字符的文件..?

【问题讨论】:

【参考方案1】:

iTunesFileSharing 文件夹只是文档文件夹。您可以通过执行以下代码来检索路径:

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *folderPath = [paths objectAtIndex:0];

然后您可以遍历文档文件夹中可用的文件并测试其扩展名以检查它们是否为 AVI 文件:

- (BOOL)existsMovieFilesAtPath:(NSString *)folderPath

    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSError *error = nil;
    NSArray *contents = [fileManager contentsOfDirectoryAtPath:folderPath error:&error];

    if (error == nil)
    
        for (NSString *contentPath in contents)
        
            NSString *fileExt = [contentPath pathExtension];

            // If the current file is an AVI file
            if ([fileExt isEqualToString:@"avi"])
            
                return YES;
            
        
    

    return NO;

要删除文件,你可以做同样的事情:

- (BOOL)deleteFilesAtPath:(NSString *)folderPath

    NSFileManager *fileManager = [NSFileManager defaultManager];
    NSError *error = nil;
    NSArray *contents = [fileManager contentsOfDirectoryAtPath:folderPath error:&error];

    if (error == nil)
    
        for (NSString *contentPath in contents)
        
            [fileManager removeItemAtPath:contentPath error:NULL];
        
    

    return NO;

【讨论】:

效果很好.. 非常感谢.. 一个问题.. 我应该怎么做才能删除非英文文件?喜欢中文还是韩文? 您如何区分中文/韩文文件与其他文件?您可以使用“-cn”、“-kr”等前缀/后缀命名文件,然后检查文件名。

以上是关于如何从 iTunes 文件共享文件夹 iOS 中删除文件的主要内容,如果未能解决你的问题,请参考以下文章

iOS iTunes文件共享

无需 iTunes 将文件从 Mac/Pc 传输到 ios 应用程序文档

ios,iTunes文件共享保存音频文件

在 iOS 上与 iTunes 共享文件

将文件夹转换为 iTunes 文件共享的捆绑包/包

iTunes 的 iOS 文件共享替代方案 (UIFileSharingEnabled)