在Mac OS X(10.7 Lion)基于非文档的应用程序中,我希望包括iCloud支持,以便可以在其他Mac上的同一应用程序的其他实例之间共享数据(不适用于iOS)设备)。在浏览了一下Apple文档后,我发现我应该在iCloud中使用键值列表存储,因为我要上传的文档仅包含一组自定义对象(具有简单的属性,例如名称(字符串) ,日期(日期对象),...)。该文件是我要上传到iCloud的唯一内容。在该应用程序中,我已经实现了使用NSFileManager- (void)writeData:(NSData*)data toPath:(NSString *)path(或任何我忘记的文件)将文件保存到磁盘的操作。再次使用NSFileManager(使用- (NSData *)dataInFileAtPath:(NSString*)path或其他方法)从文件中加载它。该文件存储在用户的“应用程序支持”目录中的子目录中。每当将新项目添加到数组或修改数组中的项目时,它就会保存。

我想知道是否有人可以提供教程的链接,或向我指出正确的方向,以将该文件写入iCloud,然后在同一应用程序的其他实例上再次下载?我发现的所有教程和文档仅适用于iOS。任何帮助将不胜感激!

预先感谢!

有帮助吗?

解决方案

只需使用 NSUbiquitousKeyValueStore ,除了将其写入iCloud之外,它与NSUserDefaults非常相似。您应该阅读 iCloud存储 Mac App编程指南”部分,但是您所需要做的只是在Xcode的“ App Target”的“摘要”选项卡中启用权利,然后执行以下操作: 通用标签

然后,只需执行操作即可 通用标签

这里的一个警告是,要使用一系列自定义对象,这些对象必须全部实现 NSCoding协议。这只是实现两种方法的问题;这是一个很好的教程

P.S。无论您是针对OS X还是iOS开发,都使用相同的API,因此没有理由不仅仅遵循iOS教程进行iCloud存储。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top