iCloud
iCloud让人们无论当前使用的是哪个设备都能连接到他们关心的内容。当你整合iCloud到你的app中时,用户就可以使用不同设备上你的app实例来查看和编辑他们的个人内容而不用执行显式的同步。
为了提供这个用户体验,很可能你需要重新审核你存储、连接和退信信息的方式——特别是用户创造的内容——在你的app中。查看iCloud Design Guide学习如何在你的app中使用iCloud。
iCloud用户体验中一个很基本的方面是透明度:理念上,用户不需要知道他们的内容在何处,并且他们应该很少需要思考他们正在看的是哪个版本的内容。下面的指南可以帮助你给用户他们期待的iCloud体验。
合适的话,让用户允许你的app使用iCloud变得简单。在他们的iOS设备上,用户在iCloud设置中登录他们的iCloud账户,而且在大部分情况下,他们希望他们的app自动与iCloud协作。但如果你觉得用户也许会想要选择是否对你的app使用iCloud,你可以在用户第一次打开你的app的时候提供一个简单的选项。在大部分情况下,这个选项应该提供一个关于是否对用户连接的app的所有内容使用iCloud的选择。
尊重用户的iCloud空间。记住iCloud是用户购买的有限资源很重要。你应该使用iCloud存储用户创建和理解的信息,而要避免使用它来存储你可以重新生成的app资源和内容。同样,注意当用户的iCloud账户是活动的时,iCloud会自动支持你app文档文件夹的内容。为了避免使用太多用户的空间,你最好对放置在文档文件夹中的内容进行筛选。
决定存储在iCloud中的信息类型。为了存储用户创建的文件和其他内容,你也可以存储少量的数据比如用户当前在你app中的状态或者他们的偏好。使用iCloud键值对仓库存储这种类型的信息。比如说,如果人们使用你的app来阅读一本杂志,你也许会使用iCloud键值对存储他们最新阅读的页面,这样当他们在一个不同的设备上再次打开时,他们可以从他们离开的地方继续阅读。
如果你使用iCloud键值对仓库存储偏好,确保这个偏好是用户想要在所有他们的设备上使用的。比如说,有些偏好在工作环境下比在家庭环境下更加有用。在一些情况下,将偏好存储在你app的服务器上而不是用户的iCloud账户上会更有意义,这样无论iCloud是否被使用,偏好都会起作用。
确保你的app在iCloud不被使用时行为合理。比如说,如果用户注销了他们的iCloud账户,就关闭iCloud在你app中的使用,或者进入飞行模式时,iCloud也会变得无法使用。在这些情况下,用户执行一个关闭连接iCloud的动作,所以你的app不需要告诉他们这件事。不过,告诉用户他们做出的更改知道他们重新连接到iCloud之前不会在他们的其他设备上显示会比较好。
不要给予用户选项来创建本地文件。无论你是否在你的app中支持iCloud,你都不应该鼓励用户去思考一个设备独有的文件系统。相反,你想要用户专注于通过iCloud使他们的内容具有普遍可用性。
合适的话,自动更新内容。最好不需要用户做任何事就可以确保他们获取到了你app中最新的内容。不过你需要平衡这个体验和用户的设备空间与带宽限制。如果你的用户工作处理非常大的文档,给予他们一个关于是否从iCloud下载更新的控制会比较好。如果你需要这样做,设计一个方式来表示在iCloud中有一个最近的文档版本可以获取。当用户选择更新文档时,如果下载花费很多时间,确保提供一个反馈。
警告用户删除一个文档的后果。当用户在一个使用iCloud的app中删除一个文档时,文档会在用户的iCloud账户和所有其他设备中移除。在执行删除之前显示一个警告框来描述这个结果并获取确认会比较好。
尽快地告知用户冲突,但只在必要的时候告知。使用iCloud编程接口,你应该能够解决一个文档不同版本之间的大部分冲突而不影响用户。如果有不能解决的,确保你尽快地发现冲突这样就可以帮助用户避免浪费时间在错误的内容版本上。你需要设计一个不唐突的方式来告诉用户存在一个冲突;然后让用户能够简单地区分版本并且做出决定。
确保在搜索时包含用户iCloud的内容。使用iCloud账户的用户倾向于认为他们的内容是一个可获取的整体,并且他们希望搜索结果可以反映这一观点。如果你的app允许用户搜索他们的内容,确保你使用合适的API来扩展搜索到他们iCloud的账户
本文翻译自苹果官方开发文档
查看完整合集:https://github.com/Cloudox/iOS-Human-Interface-Guidelines
版权所有:http://blog.csdn.net/cloudox_