适合我的iCloud应用程序

时间:2011-10-19 15:20:20

标签: iphone ios5 icloud icloud-api

我一直在为iCloud的应用程序改造几天而感到困惑,并希望有人可以提供帮助。在获得代码签名问题后,我不确定我是否理解了合并iCloud的模型。我会先告诉你我要解决的问题,因为我非常相信在让他们尝试修复我的方式之前告诉别人我想做什么: - )

我的应用工作流程

  1. 用户浏览商店,列出一系列可下载的培训计划
  2. 用户选择计划并下载
  3. 我从根据他们的需求定制的网络服务器中提取培训计划
  4. 我将他们下载的培训计划的文件名添加到他们拥有的计划中
  5. 用户打开培训计划并查看日常计划
  6. 我希望用户能够在他们的iPhone上执行此操作,然后打开他们的iPad并查看在那里同步的完全相同的培训计划。

    我的问题 我目前将文件保存到Documents目录,并且工作得很好。我如何改进这个以使用iCloud,以便没有启用iCloud的人可以继续使用该应用程序,但那些确实可以获得额外好处的人?

    我的理解 我很困惑我是否仍然需要保存到Documents文件夹,然后将副本保存到iCloud文件夹或者我是否只是从现在开始写入iCloud文件夹。

    如果是前者,我相信我只是将Documents文件夹文件复制到iCloud区域以便将其推送,但如何检测iCloud文件夹中的新文件并将其复制回我的Documents文件夹?

    如果是后者,文件应该只是存在吗?

    我希望它是后者,并且仍然支持没有打开iCloud的设备......

    感谢您提供任何帮助澄清。

    亚当

2 个答案:

答案 0 :(得分:3)

iCloud API有很好的文档记录,并且有一个特定的章节可以处理您的目标:

  

管理文件的生命周期

     

文档经历了典型的生命周期。基于文档   应用程序负责管理其进度   周期。从下面的列表中可以看出,其中大部分都是如此   生命周期事件由用户启动:

     
      
  1. 用户首先创建文档。
  2.   
  3. 用户打开现有文档,应用程序将其显示在文档的视图中。
  4.   
  5. 用户编辑文档。用户可能会要求将文档放入iCloud存储中,或者可能要求从iCloud存储中删除文档。
  6.   
  7. 在编辑,保存或其他操作期间,可能会发生错误或冲突;应用程序应该了解这些错误和冲突,并尝试处理它们或通知用户。
  8.   
  9. 用户关闭所选文档。用户删除现有文档。以下部分讨论基于文档的应用程序必须为这些生命周期操作完成的过程。
  10.   

从本质上讲,您的应用程序负责确定iCloud是否可用于特定用户,然后确认用户是否希望将其数据存储在云中。根据该选择,您需要确定如何将现有数据从文档目录移动到云URL。

在其他设置为使用iCloud存储的设备上,您可以选择通过元数据查询发现可用的文档。

http://developer.apple.com/library/ios/#documentation/DataManagement/Conceptual/DocumentBasedAppPGiOS/ManageDocumentLifeCycle/ManageDocumentLifeCycle.html#//apple_ref/doc/uid/TP40011149-CH4-SW1

答案 1 :(得分:1)

如果您正在寻找一个实现iCloud的非常简单的示例,请看一下:

iCloud basics and code sample

这给出了一个具体的例子,说明如何实现Rog在上面的帖子中引用的一些阶段。希望这会有所帮助。