iOS文件浏览应用

时间:2015-03-26 17:48:36

标签: ios file documents

我正在尝试为iPad创建文件浏览应用。我不愿意使用另一个应用程序,例如Documents5,因为我想自定义它并引入我们需要的功能。

基本上我希望通过iCloud Drive支持为Documents5创建一个几乎完全相同的应用程序。

我有查看PDF,MP3等的代码,但我对iCloud Drive集成和用于文件浏览的菜单界面感到有些困惑。另外,虽然我已有此代码,但如何将文件链接到查看器/播放器?

1 个答案:

答案 0 :(得分:1)

iCloud Drive非常容易实现。假设您的应用程序具有正确设置的所有权利等,您可以通过与iCloud进行交互来移动文件和删除文件,就像它是任何其他目录一样。您可以像这样访问

目录
- (NSString *)iCloudPath
{
    NSURL *URL = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
    return [[URL path] stringByAppendingPathComponent:@"Documents"];
}

将文件移动到此目录(到iCloud)就像这样

NSString *fileName = //the name of the file;
NSURL *fileURL = //the file you want to move;    
NSString *iCloudPath = [self iCloudPath];
[[NSFileManager defaultManager] setUbiquitous:YES itemAtURL:fileURL destinationURL:[NSURL fileURLWithPath:[iCloudPath stringByAppendingPathComponent:fileName]] error:nil];

<小时/> 显示文件的最简单方法是通过表格视图。您可以实现一个系统,其中文件路径存储在一个数组中,这样当选择一个单元格时,您可以根据文件的扩展名决定如何打开它。例如,我们假设您的表格视图如下

-----------------
|  video.mp4    |
-----------------
|   text.txt    |
-----------------
|   file.pdf    |

如果您的用户选择第1行(text.txt),您可以实现类似

的内容
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
    NSString *filePath = self.files[indexPath.row];
    NSString *fileExtension = [filePath pathExtension];

    if ([fileExtension isEqualToString:@"txt"])
    {
        //open the text file
    }
}