iCloud KeyValueStore首选项更改并在各种设备上处理它们

时间:2012-09-22 18:35:20

标签: ios icloud

根据Apple的指南,我的应用程序为用户提供了在iCloud中启用/禁用存储的选项。

用例:

  • 默认情况下,iCloud中的存储已禁用
  • 用户在iOS设备1上下载应用程序并创建一些文件等
  • 用户然后在iOS设备2上下载应用程序并创建一些文件等。这些文件与在iOS设备1上创建的文件不同
  • 用户然后在iOS设备1上启用iCloud。此设置使用iCloud的KV存储传播到iOS设备2。此外,iOS设备1沙箱中的文件也会移至iCloud

情景1:

用户在iOS设备2上启动应用程序。我知道现在iCloud已启用,我提示用户已在其他设备上启用它,我正在将您的本地文件移动到iCloud。我认为这里没有问题。

情景2:

当通知到达时(在设备1上启用了iCloud),用户在iOS设备2上使用该应用程序,并且在屏幕上几乎没有模态视图。我不知道如何通知用户有关更改并执行操作,即将设备2的沙盒文件移动到iCloud。

应用程序的所有视图控制器是否都有能力被中断并处理此事件?

在此处寻找有关用户体验和正确行为的一些建议和指导。

1 个答案:

答案 0 :(得分:0)

在NSUserDefaults中保存特定于设备的设置,并且不自动上传文件 - 因为在另一台设备上更改了设置,所以自动上传内容似乎有点不对。如果您强制用户导航到“启用iCloud存储”视图控制器,您可以更好地控制其他VC可见的内容,并且不太可能遇到意外。

将其设置为每个文件设置也是值得的(例如,出于安全/空间原因,可能是iCloud中不需要的文件)。

或者,UIAlertView应该可以在应用程序的任何位置工作,但是您必须确保在视图控制器中查看(和编辑?)文件时可以无缝地将文件转移到iCloud。