总体美感体如今⼀款App的视觉外观、交互行为与其功能结合的优异程度。
例如,一款协助用户完成重要任务的App应该使用不易察觉且不会形成干扰的图形、标准化控件和可预知的交互行为,从而使用户聚焦在任务自己。 反之,一款沉浸式体验的App(如游戏),须要提供一个有吸引力的界面,在鼓励用户探索的同时为用户带来无穷的乐趣和激动。前端
一致的应用程序经过使用系统提供的界面元素,众所周知的图标,标准文本样式和统一术语来实现熟悉的标准和范例。该应用程序以人们指望的方式结合了功能和行为。ios
屏幕内容的直接操做吸引人们并促进理解。用户在旋转设备或使用手势影响屏幕内容时会遇到直接操做。经过直接操纵,他们能够看到他们行动的直接,明显的结果。编程
反馈可以响应交互操做,呈现结果,便于用户了解状况。系统自带的iOS的App对用户的每一个操做都提供了明确的反馈。安全
当一个 App 的虚拟对象和行为与用户所熟悉的体验类似时——不管这种体验来源于现实⽣生活亦或是数字世界,用户就可以更快速地学会使用这款App。 隐喻在 iOS 中可以起⽤用是由于用户与屏幕在进行物理上的交互。服务器
在 iOS 中,用户是决策者,而不是App。App能够对用户行为提出建议,对可能形成严重后果的行为发出警告,但不应该直接替⽤用户作决策。优秀的 App在用户主导和避免不想要的结果之间找到平衡。为了让用户拥有掌控性,App可使用户熟悉且可预知的交互元素,让用户二次确认破坏性的行为, 而且保证能够中止正在执行中的操做。架构
iOS为视力丧失,听力丧失和其余残疾的用户提供普遍的辅助功能。
为图像,图标和界⾯面元素提供替代文本标签。 替代文字标签在屏幕上不可见,但它们让VoiceOver可听见地描述屏幕上的内容,使视力障碍人士更容易导航。
响应可访问性首选项。 若是您的应用程序使用UIKit实现其用户界面,则文本和界面元素会自动适应某些可访问性首选项,例如粗体和大文本。您的应用还应在适当时检查并响应辅助功能首选项,例如启用减小运动的选项时。实现自定义字体的应用程序应尝试匹配系统字体的可访问性行为。
使用辅助功能测试您的应用。 除了文本和动做更改外,辅助功能选项还能够更改对比度,反转颜色,下降透明度等。启用这些设置并观察您的应用在启用这些功能的用户中的外观和行为方式。
包括隐藏式字幕和音频说明。 隐藏式字幕容许聋人和听力障碍者在视频中感知口头对话和其余可听内容。音频描述为视障人士提供重要视频内容的口头叙述。
使用足够的颜色对比度。 您的应用中对比度不足会让每一个人都难以阅读内容。例如,图标和文本可能与背景混合在一块儿。在线颜色对比度计算器可帮助您准确分析应用中的颜色对比度,以确保其符合最佳标准。力争最小对比度为4.5:1,尽管7:1是首选,由于它符合更严格的可访问性标准。有关其余设计指南,请参阅颜色。app
当内容加载时,空白或静态屏幕可能会使您的应用程序被冻结,从而致使混淆和沮丧,并可能致使人们离开您的应用。
在加载发生时明确说明。 至少,显示一个活动微调器,表示正在发生的事情。更好的是,显示明确的进度,以便用户能够判断他们将等待多长时间。 尽快显示内容。在看到他们指望的屏幕以前,不要让人们等待内容加载。当即显示屏幕,并使用占位符文本,图形或动画来肯定内容尚不可用的位置。在内容加载时替换这些占位符元素。尽量在后台预加载即将播放的内容,例如在播放动画或用户正在导航关卡或菜单时。
教育或娱乐人们掩盖装载时间。 考虑显示有关游戏玩法,娱乐视频序列列或有趣的占位符图形的提示。
自定义加载屏幕: 虽然标准的进度指标一般是正常的,但它们有时会感受脱离背景。考虑经过自定义动画和与您的应用或游戏风格相匹配的元素来设计更加身临其境的体验。有关其余指导,请参阅进度指示器。iphone
模态经过阻止人们在完成任务或关闭消息或视图以前作其余事情来建立焦点。
尽量减小使用模态。 一般,人们更喜欢以非线性方式与应用互动。考虑建立模态上下文时,只有在得到某人的注意力,必须完成或放弃任务以继续使用该应用程序或保存重要数据时,才能建立模态上下文。
提供一种明显且安全的退出模态任务的方法。 确保人们在解雇模态视图时始终知道他们行动的结果。
保持模态任务简单,简短,重点突出。 不要在您的应用中建立应用。 若是模态任务过于复杂,人们可能会在进入模态上下文时忽略他们暂停的任务。特别警戒建立涉及视图层次结构的模态任务,由于用户可能迷路并忘记如何回溯他们的步骤。若是模态任务必须包含子视图,请提供层次结构中的单个路路径以及完成的明确路径。避免使用“完成”按钮执行除完成任务以外的其余操做。
若是适用,显示标识任务的标题。 您还能够在视图的其余部分中提供更全面描述任务或提供指导的文本。
保留提供必要且理想的可操做信息的警报。 警报会中断体验并须要点击才能解除,所以人们必须认为入侵是有道理的。要了解更多信息,请参阅警报。
尊重通知首选项。 在“设置”中,用户能够指定他们但愿如何从您的应用接收通知。遵照这些首选项,以便他们不会彻底关闭您应用的通知。
不要在弹出框上⽅方显示模态视图。 除了警报以外,弹出窗口上不应出现任何内容。在极少数状况下,若是须要在弹出框中执行操做后显示模态视图,请在显 示模态视图以前关闭弹出窗口。
使用您的应用协调模态视图外观。 例如,模态视图能够包括导航栏。在这种状况下,请使用与应用程序中导航栏相同的外观。
选择合适的模态视图样式。 您可使用如下任何一种样式: 布局
人们每每不不知道应用程序的导航,直到它不符合他们的指望。您的工做是以支持应⽤程序结构和目的的⽅方式实现导航,而无需关注自身。导航应该感受天然和熟悉,而且不应该主导界面或将焦点从内容中拉开。在iOS中,有三种主要的导航样式。学习
有些应用程序结合了多种导航。例如,使用平面导航的应用能够在每一个类别中实现分层导航。
始终提供清晰的路径。 人们应该始终知道他们在您的应用中的位置以及如何到达下一个目的地。不管导航风格如何,经过内容的路径都是合乎逻辑的,可预测的而且易于遵循。通常来讲,给人们一个通往每一个屏幕的路径。若是他们须要在多个上下文中查看屏幕,请考虑使用操做表,警报,弹出窗口或模态视图。
设计⼀种信息结构,使其快速轻松地获取内容。 以须要最少数量的点击,滑动和屏幕的⽅方式组织您的信息结构。
使用触摸⼿手势建立流动性。 使用最小的摩擦力轻松移动界面。例如,您可让人们从屏幕侧⾯面滑动以返回上一个屏幕。 使用标准导航组件。 尽量使用标准导航控件,例如页面控件,选项卡栏,分段控件,表视图,集合视图和拆分视图。用户已经熟悉这些控件,而且会直观地了解如何绕过您的应用。
使⽤用导航栏遍历数据层次结构。 导航栏的标题能够显示层次结构中的当前位置,后退按钮能够轻松返回上⼀个位置。 使用选项卡栏显示对等类别的内容或功能。 标签栏可以让人们快速轻松地在不同类别之间切换,不管当前位置如何。 当您有多个相同类型内容的页面时,请使用页面控件。 页面控件清楚地传达可用页面数和当前活动页面数。Weather应用程序使用页面控件来显示特定于位置的天气页面。
提供启动屏幕。 应用程序启动时会出现启动屏幕,从而给人的印象是应用程序快速响应,同时容许加载初始内容。此屏幕很快就会被您应用的第一个屏幕取代,所以除了可本地化的文本和交互元素外,它应该与此屏幕很是类似。要了解更多信息,请参阅启动屏幕。
以适当的方向发射。 若是您的应用支持纵向和横向模式,则应使用设备的当前方向启动。若是您的应用仅在一个方向上运行,则应始终以该方向启动,并让人们在必要时轮换设备。除非有使人信服的理由,不然横向模式的应用程序应正肯定位,不管设备是向左仍是向右旋转。有关其余指导,请参阅适应性和布局。
迅速采起行动。 避免显示启动画面,菜单和说明,这样会缩短内容并开始使用您的应用。相反,让人们潜入。若是您的应用须要教程或介绍序列,请提供一种跳过它们的方法,而不是向返回的用户显示它们。
预计须要帮助。 积极寻找人们可能被卡住的时间。例如,游戏能够在暂停或角色没有前进时随便显示有用的提示。让用户重播教程,以防他们第一次错过任何内容。
** 坚持教程中的要点。** 为初学者提供指导是好的,但教育并不能代替优秀的应用程序设计。首先,让您的应用程序直观。若是须要太多指导,请从新访问您的应用程序的设计。
让学习变得有趣和可被发现。 边作边学比阅读指令清单更有趣,更有效。使用动画和交互性逐步和上下文教学。避免显示看似互动的屏幕截图。
避免事先询问设置信息。 人们但愿应用可以正常运做。为大多数人设计您的应用程序,让少数想要不同配置的应用程序调整设置以知足他们的需求。尽量从设备设置和默认值或经过同步服务(如iCloud)派生设置信息。若是您必须询问设置信息,请在第⼀次在应⽤用内提示,并让用户稍后在您应用的设置中进行修改。
避免显示应用内许可协议和免责声明。 在App下载以前,让App Store显示协议和免责声明。若是您必须在应用程序中包含这些项目,请以平衡的方式集成它们,而不会破坏用户体验。 当您的应用从新启动时,恢复之前的状态。不要让人们回溯到您应用中的先前位置。保留并恢复应用的状态,以便他们能够在中断的位置继续操做。
不要让人们过快或过于频繁地为您的应用评分。 过快或过于频繁地要求评级是使人讨厌的,而且会减小您收到的有用反馈的数量。为了⿎鼓励考虑周全的反馈,在要求评级以前,让人们有时间对您的应用发表意见。始终提供退出评级提示的方法,而且永远不要强迫用户为您的应用评分。
不要⿎鼓励重启。 从新启动须要花费时间,使您的应用程序看起来不可靠且难以使用。若是您的应用程序有内存或其余问题致使难以运行,除非系统刚启动,您须要解决这些问题。
用户必须授予应用访问我的信息的权限,包括当前位置,日历,联系信息,提醒和照片。虽然人们很欣赏使用能够访问此信息的应⽤用程序的便利性,但他们也但愿可以控制其私有数据。例如,人们喜欢可以使用本身的实际位置自动标记照片或找到附近的朋友,但他们也但愿选择禁用此类功能。
仅在您的应用明确须要时才会请求我的数据。 对我的信息的请求持怀疑态度是很天然的,特别是在没有明显须要的状况下。确保仅在人们使用明确须要我的数据的功能时才会发出权限请求。例如,应用可能仅在激活位置跟踪功能时请求访问当前位置。
解释您的应⽤用须要信息的缘由。 提供自定义文本(称为目的字符串或用法说明字符串)以显示在系统的权限请求警报中,并包含一个示例。保持文字简短和 具体,使用句子,并礼貌,因此人们不会感到压力。无需包含您的应用名称-系统已标识您的应用。有关开发人员指导,请参阅保护用户的隐私。
仅在您的应用运行所需时才会在启动时请求权限。 若是您的应用程序显然依赖于他们的我的信息来操做,则用户不会被此请求所困扰。
不要不必要地请求位置信息。 在访问位置信息以前,请检查系统以查看是否已启用位置服务。有了这些知识,您能够延迟警报,直到功能真正须要它,或者彻底避免警报。
某些应用可能须要提供一种方法来进行设置或配置选择,但大多数应用能够避免或延迟这样作。成功的应用程序能够当即适用于大多数人,同时还提供一些方便的方式来调总体验。当您将应用程序设计为以大多数人指望的方式运行时,您能够减小对设置的需求。
推断你能够从系统中获得什么。 若是您须要有关用户,设备或环境的信息,请尽量向系统查询,而不是询问用户。例如,不要让某人输入他们的邮政编码,以便您能够提供本地选项,请求使用他们当前位置的权限。
周到地优先考虑应用程序中的配置选项。 您的应用程序的主屏幕是一个选择必要或常常更改的好地方。辅助屏幕更适合仅偶尔更改的选项。
在“设置”中公开不常常更改的配置选项。 “设置”应用是在整个系统中进行配置更改的中心位置,但人们必须离开您的应用才能到达目的地。在您的应用程序中直接调整设置会更方便。
在适当的时候提供设置的快捷方式。 若是您的应用包含将用户定向到“设置”的文本,例如“转到设置>MyApp>隐私>位置服务”,则会提供一个自动打开该位置的按钮。
3DTouch为触控交互提供了一个全新的维度。用户能够在支持的设备中,经过不同力度按压屏幕来访问额外的功能。App会经过展现菜单、显示额外内容、播放动画等方式来进行反馈。使用3DTouch功能不须要学习新的交互手势,只要轻轻按压屏幕就能够轻易发现额外的内容。
用户经过音量键、静音键、耳机声控和屏幕上的音量调节滑块控制声音。不少第三方配件也有声控功能。音频能够经过内部或外部扬声器、耳机输出,甚至经过支持AirPlay或是蓝牙的设备来无线输出。不管声音是你App的重要功能还只是一个点缀,你都应该知道⽤户对声音有什么期待而且去知足他们。
能够经过让用户进行身份验证的条件来为他们提供有价值的服务,例如个性化体验、访问附加功能、购买内容或同步数据。若是你的App须要认证,那保持登陆过程的快速、简单和天然,就不会让你的App的体验感变差。
在全部注册和登陆流程中使用密码自动填写: 此功能自动生成并填写密码和安全代码,以便人们能够在验证界面中花费更少的时间。全部应用程序都应该支持此功能。有关开发⼈人员指南,请参阅支持密码自动填写。
将登录尽量日后排序: 当人们在作一些有用的事情以前被迫登陆时,他们往会放弃这样的App。在强制用户登录前给他们⼀个爱上你的App的机会。在购物App中,让用户能够在启动时能当即浏览你的商品,而且只有在他们准备好购买的时候才须要登陆。在一个流媒体App中,也在登陆前让用户能够搜索你的内容,看看你的App能提供些什么。
解释身份验证的优势,以及如何注册: 若是你的App须要验证,请在登陆屏幕上展现简短友好的说明描述使用这个流程的缘由及好处。另外,请记住,并不是全部使用你的 App的人从一开始就有一个帐户。确保你描述了如何得到一个帐户,或者提供一个简单的App内的注册方式。
显示合适的键盘类型来减小数据输入: 例如要求填写Email地址时,显示Email键盘屏幕,其中要包含经常使用数据输入的快捷键。 永远不要使用“密钥”这个术语: 当生物识别认证失效时,密钥是用于解锁用户的iOS设备,并与Apple Pay进行身份验证的。
不管是点击界面元素仍是使用键盘,键入信息都是一个乏味的过程。当⼀款App尚未提供实际的帮助,就要求用户大量的键入内容,会致使进程变慢,用户就可能会很快失去耐心,甚至彻底放弃这个App。
尽量显示选项: 数据输入高效化。例如,考虑使用选择列表来代替打字,由于从提早设定好的选项中进行选择,要比打字容易多了。
尽量的从系统中获取信息: 不要强迫用户提供那些能够自动或是在用户许可内就能获取的信息,好比联系人或是日历信息。提供合理的默认值:尽量地预填可能性最大的信息值。提供准确的默认值能够进行快速决策。
只有在收集完必要的信息以后才能进行下一步: 在启动“下一步”或“继续”按钮以前,确保全部须要的字段都有值。使用可视化按钮,提示用户能够继续 进行下一步。
马上验证填写信息: 当你在填写完一份冗长的表格后,又不得不回到前面去纠正错误是让人十分沮丧的。尽量在输入后当即检查字段值,这样用户就能够立刻纠正它们(例如输入用户名后立马检查格式和是否被注册,而不须要在输入完密码后再一块儿验证)。
只有在必要时使用文本信息: 只要在真正须要的信息,才使用字段表达。
将信息列表化以高效预览: 在列表和集合中,选择⼀个选项是更容易的。考虑将信息列成表,以字母顺序排序或以另⼀种逻辑⽅方式排序,从而能够快速扫视和选择(如商品类目以字母排序的方式在列表中展示出来)。
在文本框中显示提示,以助沟通: 当字段中没有其余文本时,文本字段能够包含如“电子邮件”或“密码”之类的占位符文本。当占位符文本足以表述清楚的话,不要再使用单独的标签来进行描述。
只要⼀根⼿手指,用户就能够将选定的照片、文本或其余内容,从一个位置拖到另外一个位置来进行移动或复制,而后松开手指将其放下。
触摸并按住选择的内容使它看起来会上升并附着在用户的手指上。当内容被拖动时,动画和视觉提示要识别你想放置的位置。当没法放下,或着拖拽只能复制而不是移动时,该系统会显示别的标识来提醒用户。
反馈让用户知道App如今作什么,发现他们下一步应该作什么,而且了解行动的结果。
将状态和其余类型的反馈整合到你的界面中: 理想状况下,用户能够在不操做或不被打扰的状况下得到重要信息。
避免不必要的警报框: 警报框是一种强大的反馈机制,但应该只用于传递重要的信息。若是用户看到太多包含可有可无信息的警报框,他们很快就会学会忽略之后的警报。
请谨慎使用触觉反馈: 过分使用会引发认知混乱并下降反馈的重要性。
通常来讲,触觉反馈是为了响应用户发起的操做: 用户很容易将触觉与他们所发起的操做联系起来。随意的反馈会让用户感到不连贯,以及形成误解。
不要从新定义反馈类型: 为确保用户有一致的体验,请按照预期使用反馈类型。
调整好给用户触觉反馈的视觉体验: 提供视觉和触觉的反馈,以在操做和结果之间创建更深的联系。确保动画是清晰准确的,在视觉上符合用户的感觉 。
不要依赖单一的交流方式: 并不是全部的设备都支持全方位的触觉反馈,若是能够选择的话,用户彻底能够在设置中禁用该功能。此外,只有当设备激活,而你的App是在当前页面时,触觉反馈才会发生。经过视觉和听觉的提示来补充触觉,以确保重要信息不不会被遗漏。
当视觉反馈被遮挡时,用户可使用触觉: 好比将一个对象拖到屏幕上的某个位置,被用户的手指遮住了。这时候生成反馈,让用户知道什么时候到达特定的位置。
在开始反馈以前,确认系统已准备就绪: 由于在提供触觉反馈时可能会有⼀些延迟,因此最好在请求反馈以前确认系统已提早加载。不然,触觉反馈可能有很长的延时,致使用户感受他们的操做与屏幕上看到的东西没有联系。
同步触觉和音效: 触觉不会自动与声音同步。若是你想使用音效的话,要让它和触觉同步。
用户在建立、查看和操做文件时不用考虑文件系统。若是你的App须要运行文件时,尽量地减小文件处理的时间。
让用户相信文件即时保存,除非主动取消或删除: 通常来讲,不要让用户去即时保存文件。相反,在用户打开和关闭文件,以及切换到另外一个App程序时,会按期自动地保存更改。在某些状况下,例如在编辑现有文件时,保存和取消项可能仍然是有意义的,由于它们能够帮助确认什么时候编辑的内容已经被保存。
不要提供建立本地文件的选项: 用户一般但愿全部的文件均可以在他们的全部设备上使用。只要有可能,你的App就应该经过iCloud等服务来支持云文件存储。
设计一个直观的图形文件浏览界面: 理想状况下,使用户熟悉的系统文档应用来浏览。若是你设计了一个自定义的文件浏览器,请确保它是直观且高效的。
让用户在不离开App程序的状况下预览文件:
与其余App共享文件: 若是能够的话,你的App能够经过文档的扩展功能与其余App共享文件。也可让用户浏览和打开其余App 的文件。
用户经过在触摸屏上使用手势来与iOS设备交互。操做手势与内容产生了紧密的我的联系,加强了对屏幕的直接操纵感。
通常使用标准操做手势: 用户熟悉了标准的手势,就不喜欢被迫学习不同的方法来作相同的事。在游戏和某些沉浸式App中,自定义手势是这种体验的乐趣之一。在通常App中,最好使用标准的手势,这样用户就不用费力去发现或记住它们了。
避免使用标准手势执行非标准操做: 除非你的App是一个极具可玩性的游戏,不然从新定义标准手势会变得混乱和复杂。 不要禁用系统的屏幕边缘手势: 除了标准的手势以外,一些额外的手势还能够调用全局操做,好比在屏幕的边缘经过滑动屏幕来显示主屏幕(在支持的iphone上)、控制中心、通知中心和Dock(在iPad上)。用户依靠这些手势来操做每⼀个App程序。
基于界面的导航和操做提供补充性的快捷手势,而不是替换: 只要有可能,提供一种简单、直观的方法来引导或执行操做,即便这意味着须要额外的点击。许多的系统App提供了清晰可点的返回上一页的按钮的导航栏。但用户也能够经过从屏幕的一侧滑动来返回。在iPad上,用户能够按下Home键退出到主屏幕,或是使用四指捏合的手势。
使用多点手势来加强App的体验: 虽然涉及多个手指同时操做的手势不适用于每个App,可是他们可以丰富一些App的体验,譬如游戏和绘图App。例如,一个游戏可能包含多个屏幕控制,好比操纵杆和发射按钮,就能够同时进行操做。
点击: 激活一个控件或者选择一个对象。
拖拽: 让一个元素从一边移动到另外一边,或者在屏幕内拖动元素。
滑动: 快速滚动或平移。
横扫: 单指返回上一页,显示分屏视图中的隐藏视图,滑出列表行中的删除按钮,或在轻按显示操做列表。在iPad中四指操做⽤用来切换App。
双击: 放大并居中内容或图片,或者缩小已放大过的。
捏合: 向外张开时放大,向内捏合时缩小。
长按: 当在可编辑或可选文本中执行时,显示用于光标定位的放大视图。在某些与集合视图相似的视图中操做,进入对象可编辑的状态。
摇晃: 撤销或重作
NFC 使设备可以在几厘米的范围内进行无线信息交换。在支持此项功能的设备上运行iOSApp,可使用NFC扫描来读取现实世界相关的电⼦子标签上的数据。例如,用户能够扫描一个玩具来链接视频游戏,购物者能够扫描店内的标志来拿到优惠券,或者零售员工能够扫描产品来跟踪库存。
不鼓励用户接触物理对象: 要扫描标签,iOS设备只需简单地靠近标签,而不须要触碰。当要求用户扫描对象时,使用“扫描”和“靠近”等术语,而不是“点击”和“触碰”。
使用通俗易懂的术语: 一些人可能不熟悉NFC这个概念。为了让它变得通俗易懂,应避免说起技术上的、面向开发者的术语,好比核心NFC、近场通讯、NFC和标签。相反,要使用大多数人都能明白的友好会话式的术语。
为扫描提供简洁的指导说明: 提供完整的带有结束标点符号的句子。肯定要扫描的对象,并适当地修改文本以便进行后续扫描。保持⽂文本简短,避免截断。
支持后台和应用内标签阅读。对于使用不支持背景标记读取的设备的用户,您的应用仍必须提供应用内扫描标记的方式。
许多App容许用户经过摇晃设备来撤销和重作某些操做,好比打字或删除。当以这种方式启动时,会出现一个警告框提示用户确认或取消撤销(重作)。
简要描述一下将要撤消或重作的操做: 撤销和重作的警告提示框标题会自动地包含“撤销”或是“重作”这样的前缀(以及后面的空格)。你须要在前缀后面提供额外的一两个词语用来描述什么会被撤销或是重作。例如,你能够建立警告提示,例如“撤销名称”或“重作地址更改”。
若是你已经使用摇晃手势进行撤销和重作,则不要将其用于其余操做: 尽管你能够经过编程方式给摇晃手势赋予多种功能,但却冒着让用户困惑的风险,这样就会让你的App更难用。
节制地使用撤销和重作按钮: 当App提供多种方法来执行相同的任务时,会让用户感到困惑。若是你的App真的须要专有的撤销和重作按钮,请使用标准系统提供的图标,并将它们放在一个预期的位置,好比导航栏中。
只在当前情境中执行撤销和重作操做: 撤销和重作必须对当前的(而非以前的)情境有明确直接的影响。
多任务处理功能可让你经过iOS设备上的多任务界⾯,或者在 iPad 上使⽤多点触控⼿势,随时从⼀个 App快速切换到另⼀个App。 在 iPad 上,多任务处理功能还可让你在“幻灯⽚”、“分割视图”或“画中画”模式下同时使⽤两个App。在屏幕右侧向左滑动能够进⼊“幻灯⽚”模式,它能让你在不离开当前App的状况下暂时性地使⽤第⼆个App,例如在使⽤Safari时快速查看你的邮件收件箱。“分割视图”模式可让你同时使⽤两个并排的 App,⽽ “画中画” 模式可以让你在使⽤另⼀个 App 时观看视频。
设计出⼀个可以在多任务环境中良好运⾏的 App 取决于你的App能够与设备上的其余App和谐共存。这意味着你的App不该该占⽤太多 CPU、内存、显示屏幕或者其余系统资源。它应该很好地应对来⾃其余App的突发⼲扰和声⾳,能快速流畅地在显示界⾯和后台来回切换,而且在后台运⾏时表现得可靠稳定。
确保你的界⾯可以适应双倍⾏⾼的状态栏: ⼀些进程中的电话、录⾳、共享功能在屏幕顶部会显示额外的⼀个状态栏。在⼀些没有考虑该状况的App中,这个增长的⾼度会遮挡其余界⾯元素或者把它们挤下去。你须要在这些状况下测试你的 App,确保你的界⾯可以应对⾃如,而且仍然保持美观。
须要格外注意和应对暂停操做: 若是你的App是⼀个游戏或者媒体播放应⽤,请确保你的⽤户在切换到其余App时也不会错过任何内容。当他们切换回来时,让他们从上次离开的地⽅继续使⽤。
合理处理来⾃应⽤外的声⾳: 有时你的 App 的⾳频可能会被来⾃其余 App 或是系统的声⾳打断。⽐如,来电铃声或是被 Siri 打开的⾳乐播放列表。当这些状况发⽣时,你的App应该以⽤户预期的⽅式处理。对于重要的⾳频⼲扰,⽐如⾳乐播放、⼴播或有声读物,你的 App 应该⽴刻暂停其⾳频。对于短暂的⼲扰,⽐如GPS导航通知,你的App应该暂时下降⾳量或是先暂停⾳频等待⼲扰结束,再继续播放。
在后台完成⽤户发起的任务: 当⽤户开启了⼀个任务,即便离开了App他们也但愿任务可以继续完成。若是你的App正在执⾏⼀个不须要⽤户额外输⼊的任务,请在 App 回到前台前,在后台完成它。
有效控制通知次数: ⽆论你的App在前台、后台或是彻底没有在运⾏,它都能在特定的时间给⽤户推送通知。你可使⽤通知来传达重要讯息,可是 要避免⽤户被过多通知烦扰。⽐如,当你的App在后台时,不要每完成⼀个任务就给⽤户发送⼀个通知。相反的,可让⽤户经过返回你的 App 来 查看任务的完成状况。
⽆论设备是锁屏状态仍是正在使⽤中,App都能随时利⽤通知功能来提供及时和重要的信息。⽐如,通知可能会在如下⼏种状况发⽣时出现:新消息到来时、⼀个事件将要发⽣时、有新数据可获取时或是某些状态发⽣改变时。⽤户能够在锁屏上、屏幕顶部(使⽤设备时),以及通知中⼼(经过从屏幕 顶部边缘下滑呼出)看到通知栏。每一个通知都包含 App 的名称、⼀个 App 图标以及⼀条消息。 通知也可能伴随着声⾳提示,以及 App 图标上⼩红点⻆标的出现和更新。
在未锁屏时点击通知,或是在锁屏时滑动这项通知,均可以实现如下⼏种⾏为:结束通知、把它从通知中⼼移除,打开发送通知的应⽤并展现相关的内 容。⽐如,在未锁屏的设备上点击⼀条新的邮件通知,就会打开邮箱而且显示新的信息。
在未锁屏时,上滑通知或让它消失,或让它关闭通知,也可将它从通知中⼼ 移除。
使⽤ 3D Touch 在⼀个通知上按压,或是在未锁屏时下滑通知⾯板,就能打开扩展的详情视图。这个视图⽀持⾃定义而且包含最多四个操做按钮。⽐如, ⼀个待办事项App能够推送⼀个含有详情视图的任务通知,上⾯有能够推迟任务和标记为已完成的按钮;⼀个⽇历事件的通知提供了“⼩睡”功能来短 暂推迟事件的闹铃。
设计⼀个很棒的通知体验
提供有⽤的通知: ⽤户打开通知是为了快速得到最新消息,因此你的重点是提供有价值的信息。通知显示须要使⽤完整的句⼦,句⾸英⽂字⺟⼤写,合适的标点符号,而且不要删减你的信息——必要时系统会⾃动处理。当通知被关闭时⽤户很难再记住它们,因此要避免在通知中引导⽤户打开你的App, 进⼊指定⻚⾯而后点击指定按钮来完成⼀些任务。
**即便⽤户没有做出回应,也不要为同⼀件事情发送多个通知:**⽤户只有在⽅便时才会处理通知。若是你为同⼀件事发送了多个通知,而且填满了通知中⼼,那么⽤户就极可能关闭全部来⾃你的App的通知。不要在通知⾥包含你的App的名字和图标:系统会⾃动在每条通知的顶部显示这些信息。
提供描述性⽂字,以便在通知预览被隐藏时显示: 根据⽤户的设置,出于隐私考虑通知预览可能会被隐藏。在这种状况下,仅显示你的App图标和通⽤描述(通知是默认描述)。为了向⽤户提供⾜够的内容,你的 App 应该提供能简洁描述通知内容的⾃定义⽂本,如朋友请求,新评论,提醒或发货提供声⾳以辅助你
的通知提醒: 当⽤户没有盯着屏幕时,声⾳是⼀个引发他们注意的绝佳⽅式。当⼀个待办事项App开始执⾏重要任务时可能就会发出⼀个提示⾳。你的 App 可使⽤⾃定义声⾳或是系统的提示⾳来达到效果。若是你使⽤⾃定义的声⾳,请确保它是简短、不同凡响而且制做精良的。须要注意的是⽤户能够随时地关闭通知提示⾳。他们也能够开启伴随着声⾳的振动——这只能被⼿动开启,⽽不是经过你的 App 程序⾃动启⽤。
考虑提供⼀个详情视图: ⼀个通知的详情视图提供了关于该通知的更多信息,而且容许他们在不离开当前环境的状况下去执⾏快捷的操做。这个视图应该包含有⽤、易识别的信息,让⼈感受就是⼀个你的App的⾃然延伸。它能够包含图⽚、视频以及其它内容,它还能在显示时动态更新。⽐如,⼀个拼⻋ App 就可以在该窗⼝显示⼀张地图,并标出⼀辆⻋正在朝着你当前的位置驶来。
提供直观、有⽤的操做: ⼀个通知的详情视图能最多包含四个操做按钮。这些按钮⽤来执⾏常⽤、省时的任务,⽽不⽤打开你的 App。使⽤简短、英⽂⾸字⺟⼤写的名称明确地描述该操做的含义。⼀个通知的详情视图还能在屏幕上呼出⼀个键盘⽤来收集执⾏操做须要的信息。⽐如,⼀个通信 App 能够容许⽤户直接在新消息通知的详情视图上回复。
避免展现破坏性的操做: 要在通知详情视图⾥展现破坏性操做以前请仔细考量。若是你必须展现它们,确保⽤户拥有⾜够的上下⽂信息,以免出现意外后果。破坏性的操做应该以红字呈现。
⻆标
⻆标是⽤来补充说明通知,⽽不能⽤来表示重要的信息: 须要注意App的⻆标能够被关闭。若是你的App依赖于经过⻆标来传达重要信息,就等于你在冒着⽤户会错过这些信息的⻛险。
⻆标仅⽤于通知: ⻆标不该该⽤于显示其余类型的数字信息,例如空⽓质量,⽇期,股票价格或天⽓。
保持⻆标实时更新: 当收到对应的消息时要⽴即更新你的App的⻆标数字。⽤户只有在看到确切提示以后才会进⼊你的App查看。请注意,将⻆标上的数字清零意味着同时在通知中⼼移除全部相关的通知栏。
你的 App 能够利⽤系统⾃带的 AirPrint 技术来使⽤兼容的打印机实现图⽚、PDF 以及其它内容的⽆线打印。当⽤户在有 AirPrint 功能的应⽤内浏览可打印的内容时,他们能够经过点击导航栏或是⼯具栏上的操做按钮打开选项⾯板,而后再点击打印按钮来打开打印视图。 这个视图提供了⼀个可⽤打印机的列表以及⼀些⾃定义选项,⽐如打印的份数、⻚⾯范围,而且提供了⼀个开始打印的按钮。 让打印选项易于发现: 若是你的App有⼀个⼯具栏或是导航栏,请使⽤系统提供的操做按钮来打印。⽤户对这个按钮更加熟悉,而且在其它应⽤中也 是⽤它来打印。若是你的 App 没有⼯具栏或是导航栏,那么设计⼀个⾃定 义的打印按钮来代替。
只在能够打印的状况下才容许打印: 若是在你的屏幕上没有任何内容或是没有可⽤的打印机,那么在⽤户点击操做按钮后禁⽤打印按钮。若是你的App使⽤⾃定义的打印按钮,在⽆法打印时让其不可点击或是隐藏它。
提供有⽤的打印选项: 思考⽤户在打印你的内容时会想要指定哪些选项。能够考虑选择⻚⾯范围和打印份数的选项。也能够启⽤附加的选项,⽐如双⾯打印,若是这样有意义而且打印机也⽀持的话。
在你的app中,快速查看功能可让⽤户预览Keynote、Numbers、Pages、PDF⽂档、图⽚以及其它类型的⽂件,即便你的应⽤并不⽀持这些⽂件格式。也可使⽤该功能来查看邮件的附件。在下载附件以后,邮件信息中会显示附件的图标和⽂件名。点击图标就能预览附件。
在当前环境下合理地展示预览窗⼝: 在 iPhone 上,若是你的 App有导航栏,让预览视图下移留出位置给导航栏,就和你的App 其它层级的视图⼀样。 在iPad或是没有导航栏的App内,⽤全屏有导航栏的模态视图中打开预览视图。经过以上两种⽅法,导航栏就能提供退出快速查看状态的按钮,以及预览特定的⼀些按钮,⽐如分享和标记这样的操做。若是你的App包含⼀个⼯具栏,那么预览特定的按钮就会在⼯具栏出现⽽不是导航栏。
评级和评价能够帮助⽤户在考虑是否尝试App时作出合理的决定。良好的评级和积极的评论意味着你的App能得到更多下载,⽤户反馈可让你深⼊了解你的 App 在现实世界的使⽤状况,从⽽更好地帮助你实现将来的开发⼯做。提供良好的总体体验是提高评级和⿎励积极评价的最佳⽅法,但在适当的时候要求提供反馈也很重要。在请求⽤户对你的App进⾏评级时,请牢记这些注意事项:
在⽤户与你的 App 有⼀定程度互动后再请求⽤户对其进⾏评级: 例如,在达到某个游戏等级或完成某个⽣产任务时提示⽤户。绝对不要在⽤户第⼀次使⽤或者进⾏新⼿引导时请求评级。给⽤户充⾜的时间,让他们对你的 App 有⾃⼰的意⻅。
不要中断⽤户: 特别是当他们在执⾏紧急或压⼒很⼤的任务时。寻找合适的时机发送评级请求。
不要变得让⽤户讨厌: 重复的评级提示可能会刺激,甚⾄可能会让⽤户对你的App产⽣负⾯情绪。评级请求⾄少间隔⼀周或两周,并在⽤户与你的 App 有进⼀步互动后能够再次提示。
系统评级和审查提示 系统为 App 提供了⼀致且不⼲扰的⽅式来请求⽤户进⾏评级和评论。要使⽤此功能,你只要识别你的⽤户在体验中反馈意⻅的位置。若是⽤户还没有提供反馈,而且你的App最近也没有提出请求,那么系统将显示⼀个应⽤内提示,请求⽤户进⾏评级和评论。⽤户能够点击提供反馈或关闭提示。(在 “设置”中,⽤户还能够选择不接收全部已安装应⽤的评级请求提示。)在365 天的周期内,系统 ⾃动限制每一个App的提示显示次数为三次。
最好使⽤系统提供的提示: 系统的评级提示提供了⼀个熟悉,有效的体验,旨在使⽤户的影响最⼩。不要使⽤其余控件来请求反馈: 因为系统限制了评级提示出现的频率,因此尝试⽤控件请求反馈可能会致使不显示评级提示。
提示: 回复⽤户评论是⼀个与⽤户沟通,解决问题,并可能提⾼App评级的 好⽅法。
⽤户能够经过截取屏幕截图来捕获屏幕上显示的内容。从iOS11开始,屏幕截图在被截取后会在屏幕底部以预览形式简要显示。⽤户能够将预览图滑动 到屏幕边缘来关闭它(若是⽤户没有任何操做,预览窗⼝会在⼏秒钟后⾃动关闭),点击预览窗⼝便可快速访问即时标记和共享⼯具。屏幕截图被保存 到“照⽚”中的“截图”专辑中。
截取本地屏幕时,请勿更改 App 的界⾯: 系统提供的屏幕截图功能在截取截图时提供了⾜够的界⾯和功能。⾃定义截图启动界⾯的更改和功能是重复的,没必要要的,可能会令⼈困惑。若是你的 App 适⽤该功能,当其余⽤户使⽤该设备截取截图时,能够提醒⽤户。
你的 App 能够与 TV App 和 single sign-on 进⾏交互,为⽤户提供⾼度⽅便和⼀致的娱乐体验。
TV App 交互 TV App 能够全⾯访问系统的收藏,最近播放的,以及推荐的电影和电视节⽬。
开始并恢复播放 当⽤户请求在 App 中重放内容时,TV App 会⾃动打开你移动端的 App, 并向你的移动设备发送通知。
确保平滑过渡到你的App: 转换到移动设备上的App时,TVApp会变成⿊⾊,且不会显示启动屏幕。移动端的App应该在开始播放或恢复内容以前⽴即呈现⿊屏,保持视觉连续性。
⽴即显示预期内容: ⽤户指望在你的App转换完成后,所选内容就开始播放(从App的⿊屏直接跳到播放内容)。避免提供闪屏,详细屏幕,介绍 动画或任何其余花费时间的障碍。这在恢复播放时尤其重要。
不要询问⽤户是否要恢复播放: 若是能够恢复播放,则应⾃动执⾏此操做⽽ ⽆需提示确认。
确保为正确的⽤户播放内容: 若是你的App⽀持多个⽤户配置⽂件,TVApp能够在发出播放请求时指定配置⽂件。开始播放以前,你的App应⾃动切换⾄这个设定。若是播放请求没有指定配置⽂件,则请求⽤户在播放开 始以前选择⼀个,以便未来能够直接提取此信息。
载⼊内容 若是加载须要两秒以上,请考虑显示⼀个带有动态加载图标的⿊⾊屏幕,且不没有其余内容。
尽量避免使⽤加载屏幕: 若是您的内容快速加载,则不须要加载屏幕。
尽快开始播放: 若是须要加载屏幕,加载⾜够的内容以后再开始播放,并继续在后台加载剩余的内容。
设计⿊⾊加载屏幕: 在内容播放的过渡期间,可能会显示加载屏幕。为了与TVApp的淡⼊淡出功能相融合,因此应该显示⿊⾊屏幕。 加载屏幕上的内容最⼩化: 若是你⼀定要让加载屏幕上包含品牌或图像,请尽可能保持⿊⾊背景并⽆缝衔接播放。
退出播放 退出播放后,⽤户仍然在你的 App 中,⽽不是返回到 TV App。不要让⽤户迷失⽅向。
显示⼀个有相关内容的屏幕: 退出播放时,保留⽤户正在观看内容的屏幕视图,并包含⼀个恢复播放的选项。若是详细信息屏幕不可⽤,请显示⼀个包含⽤户正在观看的内容或你的 App 主菜单的菜单。
准备即时退出: 在收到回放通知后尽快准备退出屏幕,以便⽤户即便在播放开始后⽴即退出,也能够看到退出画⾯。
单点登陆 许多流⾏的电视提供商容许⽤户在系统级别登陆他们的账户,消除了逐个应⽤验证身份的须要。若是你的App须要电视提供商进⾏身份验证,请使⽤ 此功能提供最有效的⼊⻔体验。
当⽤户在系统级别登陆时,避免显示退出选项: 若是你的App必须包含退出选项,则调⽤该选项,将⽤户指向“设置”>“电视提供商”以退出其账户。
不要经过调整隐私控制来指示⽤户退出: “设置”>“隐私”中的电视提供商控制不是退出机制。这些设置可让⽤户管理可访问其电视提供商账户的 App。