iCloud 和非 UIDocument 文件
Posted
技术标签:
【中文标题】iCloud 和非 UIDocument 文件【英文标题】:iCloud and non-UIDocument files 【发布时间】:2015-06-11 14:10:08 【问题描述】:我的应用读取和写入音频文件,使用 AVFoundation 的文件操作方法。
我想加入 iCloud 同步,以使我的应用程序的整个根 Documents 目录同步到云端。
我不太确定如何实现这一点。 Apple 文档说 iCloud 同步对于由UIDocument
管理的文件是免费的,并且需要为所有其他文件操作实现NSFileCoordinator
。
我是否需要在该文件协调器中以某种方式“包装”AVPlayer
和 AVRecorder
的文件读取和创建调用?
【问题讨论】:
【参考方案1】:如果是 UIDocument,您可能会在打开后获得 NSData。通过 UIDocument 保存数据也很方便。这种方法更可取,恕我直言。
在 NSFileCoordination 的情况下,您还应该在资源的包装对象中实现 NSFilePresenter 协议。
此外,您可以使用 NSFileManager 进行下载状态处理和资源可用性验证。另外,您可以通过- (BOOL)setUbiquitous:(BOOL)flag itemAtURL:(NSURL *)url destinationURL:(NSURL *)destinationURL error:(NSError **)errorOut.
将您的本地文件放在iCloud中,在这种情况下,您可以自己处理同步过程。
【讨论】:
以上是关于iCloud 和非 UIDocument 文件的主要内容,如果未能解决你的问题,请参考以下文章