在没有 UIDocument 的情况下获取 iCloud URL 的数据内容

Posted

技术标签:

【中文标题】在没有 UIDocument 的情况下获取 iCloud URL 的数据内容【英文标题】:Get data contents of iCloud URL without UIDocument 【发布时间】:2015-04-24 22:50:16 【问题描述】:

是否可以在不通过 UIDocument 的情况下获取 iCloud URL 的内容?

【问题讨论】:

简短回答:是的。长答案:我现在无法提供代码,但我不久前就提供了。您可能需要在 Apple 文档中搜索“Ubiquity Container”。 【参考方案1】:

您可以使用以下代码下载 icloud url 的内容,而无需创建 NSDocument 对象。这对我有用...

-(void)loadData:(NSMetadataQuery *)query

    if ([query resultCount] == 1)
    
        NSMetadataItem *item = [query resultAtIndex:0];
        NSURL *fromURL = [item valueForAttribute:NSMetadataItemURLKey];
        NSURL *toURL=[NSURL fileURLWithPath:@"PATH_OF_FILE_TO_STORE_DATA"];

        NSFileCoordinator *coordinator = [[NSFileCoordinator alloc] initWithFilePresenter:nil];

        [coordinator coordinateReadingItemAtURL:fromURL options:0 writingItemAtURL:toURL options:NSFileCoordinatorWritingForReplacing error:nil byAccessor:^(NSURL *newReadingURL, NSURL *newWritingURL)
         
             [[NSFileManager defaultManager] removeItemAtPath:newWritingURL.path error:NULL];
             [[NSFileManager defaultManager] copyItemAtPath:newReadingURL.path toPath:newWritingURL.path error:nil];
       ];
    

【讨论】:

以上是关于在没有 UIDocument 的情况下获取 iCloud URL 的数据内容的主要内容,如果未能解决你的问题,请参考以下文章

如何更新 UIDocument 数据

UIDocument 相关 EXC_BAD_ACCESS

如何注册从 UIDocument 获取的字体

iCloud - UIDocument saveToUrl 不执行完成块

iOS 5 中关于 UIDocument 的说明

IOS 5 UIDocument 子类向后兼容吗?