从 iCloud 打开 txt 文件
Posted
技术标签:
【中文标题】从 iCloud 打开 txt 文件【英文标题】:Opening txt file from iCloud 【发布时间】:2012-09-01 03:43:39 【问题描述】:在我的应用程序中,我正在尝试做一件简单的事情 - 将一个 txt 文件和一个图像文件保存到 iCloud,然后将其取回以在应用程序上打开它。
现在,我可以将 txt 和图像文件保存到 iCloud - 没问题。我什至可以从 iCloud 中提取文档的 URL 和文件名——那里也没有问题。但我的问题是,如何打开 txt 文件?并获取文本内容的示例代码是什么?我的 txt 文件文档是 UIDocument 的子类,如果有帮助的话。
【问题讨论】:
我认为这会有所帮助***.com/questions/7795629/… 【参考方案1】:我注意到你问这个问题大约 4 个月后。也许这对这里的其他寻求灵魂有帮助。
基本上,在 ios 上,您首先通过查询所有文档来打开 UIDocument,然后打开 iCloud 响应您的内容。 以下是您开始查询的方式:
NSURL *baseURL = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];
if (baseURL)
_metadataQuery = [[NSMetadataQuery alloc] init];
[_metadataQuery setSearchScopes:[NSArray arrayWithObject:NSMetadataQueryUbiquitousDocumentsScope]];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"%K like '*'", NSMetadataItemFSNameKey];
[_metadataQuery setPredicate:predicate];
CL_DLog(@"Start query - %d",[_metadataQuery startQuery]);
在执行上述代码之前,订阅这些通知以接收响应
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryDidFinish:) name:NSMetadataQueryDidFinishGatheringNotification object:_metadataQuery];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(queryDidFinish:) name:NSMetadataQueryDidUpdateNotification object:_metadataQuery];
然后在您的回复中您可以打开文档
YourUIDocumentClassName *document = [[YourUIDocumentClassName alloc] initWithFileURL:documentURL];
if ([document documentState] != UIDocumentStateClosed)
CL_DLog(@"FYI - metadata document state is not StateClosed.");
[document openWithCompletionHandler:^(BOOL success)
....
您可以在 icloud 和 UIDocument https://developer.apple.com/videos/wwdc/2012/?id=218 上查看 Apple 的会话
希望对你有帮助。
【讨论】:
以上是关于从 iCloud 打开 txt 文件的主要内容,如果未能解决你的问题,请参考以下文章
无需用户从 DocumentBrowser 中选择即可呈现 iCloud 文件
如何在 Swift 中以编程方式打开 icloud 应用程序(文件)