【问题标题】:iOS application with local and iCloud support具有本地和 iCloud 支持的 iOS 应用程序
【发布时间】:2013-04-23 19:24:10
【问题描述】:
如果 ubiquity 容器(iCloud 文件夹)由于某种原因不可用,我会将任何新文档添加到用户的“文档”目录,但是,如果它再次可用,我会将文档添加到 ubiquity 容器中。
我的问题是,保存被视为无处不在的容器的文档的最佳方法是什么?
例如,如果用户关闭云中的文档,这些文档就会被删除。发生这种情况时是否有通知要收听,以便我可以将它们转移到本地目录?
反之亦然,如果用户打开云中的文档,是否有通知将文档从本地移动到无处不在的存储?
谢谢
【问题讨论】:
标签:
icloud
nsnotification
uimanageddocument
uidocument
【解决方案1】:
没有自动通知,ubiquity 容器中的文件要么消失要么重新出现。您的应用逻辑必须考虑哪些文件在您可见时需要移入和移出 iCloud,但一旦它们消失,它们就消失了!
恕我直言,让数据消失是 iCloud 最让用户感到困惑的事情之一。用户希望它能够同步内容,但目前它是全有或全无的游戏。如果您真的想要更多“同步”行为,解决此问题的唯一方法是同时拥有本地非普遍存在副本和本地普遍存在容器中的副本,以便将其上传到 iCloud 服务器。这意味着您在每台设备上有效地获得了所有内容的两个副本。凌乱。
更容易坚持 Apple 规定的方法,并假设用户在退出 iCloud 或从 iCloud 中删除您的数据时知道他们在做什么。