我正在尝试为iPad创建文件浏览应用。我不愿意使用另一个应用程序,例如Documents5,因为我想自定义它并引入我们需要的功能。
基本上我希望通过iCloud Drive支持为Documents5创建一个几乎完全相同的应用程序。
我有查看PDF,MP3等的代码,但我对iCloud Drive集成和用于文件浏览的菜单界面感到有些困惑。另外,虽然我已有此代码,但如何将文件链接到查看器/播放器?
答案 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
}
}