应用程序是不是应该允许用户打开或关闭 iCloud?

Posted

技术标签:

【中文标题】应用程序是不是应该允许用户打开或关闭 iCloud?【英文标题】:Should app allow user to switch iCloud on or off?应用程序是否应该允许用户打开或关闭 iCloud? 【发布时间】:2012-11-19 17:27:35 【问题描述】:

Apple 文档说:

当用户第一次启动支持 iCloud 的应用时, 邀请他们使用 iCloud。

不再提示用户 他们是否想使用 iCloud 与本地存储。

如果用户第一次没有选择 iCloud,但后来决定使用它怎么办?

如果在使用 iCloud 几天后,用户决定切换回本地存储怎么办?

如果用户用完了 iCloud 存储空间,但又不想为额外空间付费怎么办?

是否应将应用设计为允许用户在本地和 iCloud 存储之间切换?如果是,最好的处理方法是什么?

谢谢。

【问题讨论】:

【参考方案1】:

是的,您肯定需要能够在两种存储方法之间迁移用户,原因包括以上以及更多 - 如果用户退出 iCloud 怎么办?如果随后另一个 iCloud 用户登录怎么办?你需要处理这些东西,并且能够在可以移动的时候移动它们,即使你不能这样做,也要将它们保存在正确的位置和用户期望的位置。

您如何处理它取决于您使用的 iCloud 存储类型。对于键值存储,您还应该在本地缓存这些内容(它不是 NSUserDefaults 替代品)。

对于文档和核心数据,您有时可以将持久性存储迁移回本地存储,有时您可以将文档从 iCloud 移出到本地存储。我建议阅读 ios 上的文档编程指南和 iCloud 指南,至少了解如何处理这个问题。

检测其中一些更改可能很困难 - API 在这方面有点不成熟。一些人使用的一种技术是您放置在无处不在的“哨兵文件” - 如果它们丢失,您就会知道您所知道的 iCloud 世界已经发生了变化。

看看 Apple 的应用程序如何处理这个问题,例如 iWork。他们的设置包中有一个 iCloud 开关。

【讨论】:

以上是关于应用程序是不是应该允许用户打开或关闭 iCloud?的主要内容,如果未能解决你的问题,请参考以下文章

如何确定用户是不是打开了 iCloud 照片库?

无需用户从 DocumentBrowser 中选择即可呈现 iCloud 文件

iCloud API 是不是允许从 iOS 访问音乐库?

将 Icloud 与 Rails Web 应用程序链接

我的应用程序有啥更好的选择 - CoreData 或 plist? [关闭]

iOS 的 8 iCloud Drive 是不是允许不同的用户共享文件?