首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >iCloud -如何更新UIDocument文件?

iCloud -如何更新UIDocument文件?
EN

Stack Overflow用户
提问于 2012-10-18 18:17:01
回答 1查看 1.4K关注 0票数 2

我使用iCloud在iOS上的设备之间同步特定的文档(UIDocument)。我的实现目前正在工作,但我很难了解更新文件的工作方式。这就是我目前的实现方式:

  1. 构造我的UIDocument子类的一个实例,并使用以下方法在本地保存它: UIDocument saveToURL
  2. 将文件发送到iCloud NSFileManager setUbiquitous

这些步骤将我的文档发送到iCloud,并且我能够在其他设备上看到该文件。我的问题是我如何更新一个文件?必须像上面那样构造一个新的UIDocument对象并保存和保存setUbiquitous吗?我用UIDocumentSaveForOverwriting作为UIDocument saveToURL中的保存操作进行了尝试,但是setUbiquitous调用失败了。我还试过简单地保存本地文件并在其他设备上查看元数据查询更新通知,但没有收到任何通知。如何对UIDocument进行更新,并将更改反映在iCloud中?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2012-10-22 23:38:08

您只需执行一次setUbiquitous调用;这只需将文件从本地存储复制到ubiquity容器(这是iOS用于将文件与云同步)。从那时起用于打开或保存文件的URL (如UIDocument saveToURL中的URL )应该是文件的URL,因为它存在于ubiquity容器中。

您可以使用如下代码获取无处不在容器的位置:

代码语言:javascript
复制
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),^{
        myobj.containerURL = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];

    });

根据苹果的文档,您应该使用MetaDataQuery来获取URL的位置(因为,很明显,URL可以根据各种事件进行更改)。其中一个例子是在这个苹果样品里。

祝好运。)我已经为这些东西挣扎了几天.

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/12961105

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档