iCloud即将和广大果粉见面了,相信很多果粉对这项服务期待已久。被誉为iOS5最重要更新之一的iCloud如何为用户服务?下面就和果粉一起看看iCloud的内部结构吧。 iCloud最简单的存在形式其实就是一个特定的文件夹,位于iOS设备的/private/var/mobile/Library/MobileDocuments/目录下。该目录将各个应用共享的所有应用数据存储到云端。 应用对该目录有部分读写权限,开发者独有。使用密码钥匙串,开发人员可以跨应用程序共享云数据。例如,X公司开发的所有应用程序都可以共享、查看和更新??同一组文件。您无法在开发者帐户之外共享数据,因此我的应用无法查看X公司的文件,反之亦然。 iOS系统监控MobileDocuments文件夹。当文件发生更改时,设备会自动将这些更改上传到云端。然后可以将这些更改传输到绑定到同一帐户的所有设备。这些操作都由原生操作系统服务处理,应用程序不直接参与。 相反,应用程序通过订阅不同类型的通知让应用程序了解***变化。然后,他们可以通过比较本地和iCloud数据差异来处理数据版本冲突。 至于开发者怎么做,那是他们的事。他们可以选择“最近更改生效”的策略。或者他们可以以其他方式组合更改。确保不同硬件设备单元上的数据保持一致是应用程序的责任,并且需要可用的网络连接来处理这种一致性。 当用户失去互联网连接时,麻烦就开始了。例如,您可能正在没有Internet连接的航班上编辑待办事项,而您的伙伴正在他或她的城市更新相同的待办事项。开发人员为此工作了几个月,找出组合这些更改的策略,并在接受双方更改的同时更新目标文件。 ***,iCloudAPI接口方法可能很少。它实际上只是一个异地同步的存储文件夹。对于开发者来说,诀窍在于如何考虑时间、空间、连接等不同方面对文件夹的影响,因为文件夹要适应用户的更新。
