在我的应用程序中,我试图做一件简单的事情 - 将一个txt文件和一个图像文件保存到iCloud中,然后将其恢复以在应用程序中打开它。从iCloud打开txt文件
现在,我可以将txt和图像文件保存到iCloud中 - 没问题。我甚至可以从iCloud获取文档的URL和文件名 - 这里也没有问题。但我的问题是,如何打开txt文件?什么样的代码来从iCloud打开一个txt文件并获取文本内容?我的txt文件文档是UIDocument的一个子类,如果有帮助的话。
在我的应用程序中,我试图做一件简单的事情 - 将一个txt文件和一个图像文件保存到iCloud中,然后将其恢复以在应用程序中打开它。从iCloud打开txt文件
现在,我可以将txt和图像文件保存到iCloud中 - 没问题。我甚至可以从iCloud获取文档的URL和文件名 - 这里也没有问题。但我的问题是,如何打开txt文件?什么样的代码来从iCloud打开一个txt文件并获取文本内容?我的txt文件文档是UIDocument的一个子类,如果有帮助的话。
好吧,我注意到它就像你问这个问题后的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 *文件= [[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
希望它可以帮助检查苹果的会话。
我认为这将有助于http://stackoverflow.com/questions/7795629/icloud-basics-and-code-sample – SAKrisT