icloud的 - 如何更新UIDocument文件?

我在使用iCloud同步在iOS设备之间的具体文件(UIDocument)。 我的实现目前正在,但我无法包裹我的头围绕如何更新文件的工作。 这是我目前实施的工作原理:

  1. 构建我UIDocument子类的实例,并在本地保存它:

    [UIDocument saveToURL]
  2. 将文件发送到iCloud与

    [的NSFileManager setUbiquitous]

这些步骤把我的文件到iCloud,我能看到在其他设备上的文件。 我的问题是如何将我更新文件? 我必须建立一个新的UIDocument对象,并保存和setUbiquitous如上? 我已经试过UIDocumentSaveFor​​Overwriting本作中[UIDocument saveToURL]保存操作,但setUbiquitous调用失败。 我也试着简单地保存在本地文件和观看的其他设备上的元数据查询更新通知,但没有收到任何。 我怎样才能让一个更新到UIDocument和有变化iCloud中得到体现?

--------------解决方案-------------

你只应该做setUbiquitous调用一次; 只是复制文件从本地存储到无处不在的容器(这是iOS的采用同步与云中的文件)。 您从该点向前用来打开或保存文件的URL(如[UIDocument saveToURL])应该是因为它在容器中无处不存在文件的URL。

你可以使用这样的代码无处不在容器的位置:

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),^{
myobj.containerURL = [[NSFileManager defaultManager] URLForUbiquityContainerIdentifier:nil];

});

根据苹果的文档,你应该使用MetaDataQuery(因为,很显然,这个URL可以发生变化,按不同的事件)来获取URL的位置。 这样的一个例子是这样的苹果样本。

祝你好运。 :)我一直在挣扎这个东西了几天...

分类:IOS 时间:2015-03-15 人气:2
本文关键词: IOS,icloud的
分享到:

相关文章

Copyright (C) 55228885.com, All Rights Reserved.

55228885 版权所有 京ICP备15002868号

processed in 0.397 (s). 10 q(s)