《iOS Human Interface Guidelines》——Accessing User Data

访问用户数据

定位服务允许app来确定人们大致的地理位置、他们设备指向的方向以及他们移动的方向。其他系统服务——诸如联系人、日历、提醒以及相册——也允许app去访问用户存储在其中的数据。

即使人们喜爱app知道很多他们的信息带来的便利性,他们也会希望能够选择保护他们数据的隐私性。比如说,人们喜欢能够自动标记他们的物理位置或者寻找附近的朋友,但他们也希望在他们选择不分享他们的位置给别人时能够禁用这些特性。(查看Location
and Maps Programming Guide
学习更多关于如何让你的app定位的内容。)

下面的指南可以帮助你以用户感到舒适的方式获取到用户数据。

确保用户理解为什么他们被询问分享他们的私人数据。如果人们没有看到一个明显的数据需要,他们很自然地会对索取他们的私人信息感到怀疑。为了避免让用户不舒服,确保只在他们尝试使用清晰地需要知道他们的信息的特性时显示警告框。比如说,人们可以再定位服务关闭时使用地图,但是在他们使用寻找和跟踪他们当前位置的特性时会看到一个警告框。

如果不明显的话,描述为何你的app需要信息。你可以提供显示在警告框中的文本,放在系统提供的诸如“‘App 名’想要使用您的联系人”或者对于定位通知,“允许‘App 名’在你使用app的时候使用你的位置么?”的标题下面。你会想要这个文本明确而礼貌,这样人们就会理解为什么你要求连接他们的信息,并且不会感到压力。

你的理由文本应该:

  • 不包含你的app名。系统提供的警告标题已经包含了你的app名。
  • 清晰地描述为什么你的app需要这个数据。合适的话,你也可以解释不适用数据时你app的方式。
  • 使用以用户为中心的术语并且局部化。
  • 尽可能地简短,但依然易于理解。尽可能地不要超过一句话。
  • 使用句子风格的大写。(句子风格的大写指第一个字母是大写的,其他字母都是小写的,除非是专有名词和专有形容词。)

只有当你的app没有用户数据无法执行主要功能时才在启动app时请求数据许可。如果很明显你app的主要功能依赖于知晓人们的私人数据,他们就不会感到烦恼。

不要在用户选择需要数据的特性之前编程触发警告框。这样,你就可以避免在用户做不需要数据的事情时让他们纳闷为什么你的app想要他们的私人数据。(注意检查用户的定位服务偏好不会出发警告框。)

对于位置数据,检查定位服务的偏好避免不必要地触发警告框。你可以使用Core Location编程接口获取这个设置(查看Core
Location Framework Reference
学习如何做)。有了这个知识,你就可以尽可能地在请求位置信息时触发警告框,或者可能完全不要警告框。

本文翻译自苹果官方开发文档

查看完整合集:https://github.com/Cloudox/iOS-Human-Interface-Guidelines

版权所有:http://blog.csdn.net/cloudox_

时间: 2024-07-29 13:49:13

《iOS Human Interface Guidelines》——Accessing User Data的相关文章

《iOS Human Interface Guidelines》——Launch Files

启动文件 启动文件(或者图片)提供了简单的在你的app启动的时候iOS显示的占位图.这个占位图会让用户觉得你的app很快就有响应,因为它直接显示而且很快会被你的app的第一个屏幕代替.每个app都必须提供一个启动文件或者至少一个静态图片. 在iOS 8及以后的系统中,你可以创建一个XIB或者故事版文件来代替静态启动图片.当你在Interface Builder中创建一个启动文件时,使用尺寸类来定义不同显示环境的不同布局,使用Auto Layout来做小的调整.使用尺寸类和Auto Layout意

《iOS Human Interface Guidelines》——Toolbar Bar

工具栏 工具栏包含了执行与屏幕视图中的对象相关的操作的控件. 一个工具栏: 是半透明的 在iPhone上永远出现在屏幕视图的底部边缘.在iPad上也可以出现在屏幕视图的顶部边缘. 可以在键盘出现时.用户做一个手势时或者抱哈你的视图控制器过渡成水平紧凑环境时隐藏. API NOTE 工具栏一般包含在导航控制器(管理一系列层级的自定义视图显示的对象)内.查看Displaying a Navigation Toolbar和UIToolbar Class Reference来学习更多关于在你的代码中定义

《iOS Human Interface Guidelines》——Multitasking

多任务处理 多任务处理让人们在屏幕上(以及合适的iPad模式)查看多个app,并且在最近使用的app中快速地切换.在iOS 9中,人们可以使用多任务处理UI(如下所示)来选择一个最近使用的app. 在多任务处理环境中的成功取决于与设备上其他app的和谐共处.在高层面上,这意味着app应该: 用心地优化资源的使用来避免使用过多的CPU.内存.屏幕控件和其他资源 优雅地处理其他app的干扰和声音 停止和重新开始--即过渡到后台或从后台过渡--快速而平滑 当没有在前台时对行为负责 下面的特有的指南会帮

《iOS Human Interface Guidelines》——3D Touch

3D Touch 3D Touch让iOS 9的用户多了一个交互的维度.在支持的设备上,人们可以通过按压主屏幕上的app图标来快速地选择其特有的操作.在app内,人们可以使用多种压力来获取一个内容的预览.在另一个视图打开内容以及获取相关的操作.(查看Adopting 3D Touch on iPhone来学习更多关于在你的代码中支持3D Touch的内容.) Peek 和 Pop Peek让用户可以在不离开当前环境的情况下预览一个内容以及执行相关的操作.元素通过在轻按时显示一个小的矩形视图(有时

《iOS Human Interface Guidelines》——Collection View

集合视图 集合视图管理有序的条目集合并且在自定义的布局中显示它们. API NOTE 查看Collection View Programming Guide for iOS来学习更多关于在你的代码中定义集合视图的内容. 一个集合视图: 可以包含一些可选的视图来视觉上区分条目的子集合或者提供装饰性的内容,比如自定义背景 支持布局间自定义的过渡动画(集合视图默认提供用户插入.移动或删除条目的动画) 支持额外的手势识别来执行自定义的动作.集合视图默认识别点击(选中条目)和长按(编辑条目). 使用集合视

《iOS Human Interface Guidelines》——Undo and Redo

撤销与重做 用户通过摇动设备来发起一个撤销操作,这会显示一个警告框来让他们: 撤销他们刚刚输入的内容 重新输入以前未完成的输入 取消撤销操作 你可以在你的app中以一种更一般的方式来支持撤销操作,通过说明: 用户可以撤销或重做的动作 在何种情况下你的app应该将一个摇动事件看做一个撤销手势 支持何种程度的撤销 查看Undo Architecture学习如何在代码中实现这个行为.如果你的app支持撤销与重做,遵循下面的指南来提供一个好的用户体验. 提供简短的描述短语来精确地告知用户他们正在撤销或重

《iOS Human Interface Guidelines》——Sound

声音 无论声音是你app用户体验的主要部分还是一个可选的增益,你都要知道用户对声音有何期待以及如何满足这些期待. 理解用户的期待 用户可以使用设备的控制来影响声音,并且他们可能使用有线或无线的耳机.人们也对他们的行为如何影响他们听到的声音抱有很多期待.虽然你可能会发现有些期待很惊人,但这都遵循用户,而不是设备,决定的用户控制. 当用户想要做如下事情的时候他们会使设备静音: 避免被不期待的声音干扰,比如电话铃声和收到短信的声音 避免听到用户行为副产品的声音,比如键盘或其他反馈声音.附带声音或者ap

《iOS Human Interface Guidelines》——Popover

弹出框 弹出框是当人们点击一个控件或屏幕上一个区域时显示的一个临时的界面. API NOTE 在iOS 8及以后的系统中,你可以使用UIPopoverPresentationController来显示一个弹出框.UIPopoverPresentationController定义了一个协议来让你调整你的弹出内容的显示风格去适应当前的显示环境.比如说,在水平常规环境下,你的内容可以在弹出框中显示:在水平紧凑环境下,你的内容可以在一个全屏的模态视图中显示. 一个弹出框: 是一个自包含的模态视图 在水平

《iOS Human Interface Guidelines》——Page View Controller

页面视图控制器 页面视图控制器使用两种风格中的一种来管理多页面内容间的过渡--滚动或者翻页.这个是iOS模拟器中翻页的样子: API NOTE 查看Page View Controllers来学习更多关于在你的代码中定义页面视图控制器的内容. 一个页面视图控制器: 对滚动风格没有默认外观 对于翻页风格,页面视图控制器可以添加页面间的书脊外观. 根据特定的风格,为页面间的过渡添加动画 对于滚动风格,当前页面滚动到下一页:对于翻页风格,当前页会表现地像书或笔记本的翻页一样. 使用页面视图控制器展示用