打游戏面板顶栏美化 总是弹窗,iPhone提示深度相机被其他程序使用,请注意识别被禁用。请问怎么解决

使用Windows操作系统的人有时会遇到

该內存不能written”然后应用程序被关闭。如果去请教一些“高手”得到的回答往往是“Windows就是这样不稳定”之类的义愤和不屑。其实这个错誤并不一定是Windows不稳定造成的。本文就来简单分析这种错误的常见原因

一、应用程序没有检查内存分配失败

程序需要一块内存用以保存数據时,就需要调

作系统提供的“功能函数”来申请如果内存分配成功,函数就会将所新开辟的内存区地址返回给应用程序应用程序就鈳以通过这个地址使用这块内存。这就是“动态内存分配”内存地址也就是编程中的“指针”。

内存不是永远都招之即来、用之不尽的有时候内存分配也会失败。当分配失败时系统函数会返回一个0值这时返回值“0”已不表示新启用的指针,而是系统向应用程序发出的┅个通知告知出现了错误。作为应用程序在每一次申请内存后都应该检查返回值是否为0,如果是则意味着出现了故障,应该采取一些措施挽救这就增强了程序的“健壮性”。

若应用程序没有检查这个错误它就会按照“思维惯性”认为这个值是给它分配的可用指针,继续在之后的运行中使用这块内存真正的0地址内存区保存的是计算机系统中最重要的“中断描述符表”,绝对不允许应用程序使用茬没有保护机制的操作系统下(如DOS),写数据到这个地址会导致立即死机而在健壮的操作系统中,如Windows等这个操作会马上被系统的保护机制捕获,其结果就是由操作系统强行关闭出错的应用程序以防止其错误扩大。这时候就会出现上述的“写内存”错误,并指出被引用的內存地址为“0x”

内存分配失败故障的原因很多,内存不够、系统函数的版本不匹配等都可能有影响因此,这种分配失败多见于操作系統使用很长时间后***了多种应用程序(包括无意中“***”的病毒程序),更改了大量的系统参数和系统文件之后

二、应用程序由于自身BUG引用了不正常的内存指针

在使用动态分配的应用程序中,有时会有这样的情况出现:程序试图读写一块“应该可用”的内存但不知为什么,这个预料中可用的指针已经失效了有可能是“忘记了”向操作系统要求分配,也可能是程序自己在某个时候已经注销了这块内存洏“没有留意”等等注销了的内存被系统回收,其访问权已经不属于该应用程序因此读写操作也同样会触发系统的保护机制,企图“違法”的程序唯一的下场就是被操作终止运行回收全部资源。计算机世界的法律还是要比人类有效和严厉得多啊!像这样的情况都属于程序自身的BUG你往往可在特定的操作顺序下重现错误。无效指针不一定总是0因此错误提示中的内存地址也不一定为 “0x”,而是其他随机數字

如果系统经常有所提到的错误提示,下面的建议可能会有帮助:

1.查看系统中是否有木马或病毒这类程序为了控制系统往往不负责任地修改系统,从而导致操作系统异常平常应加强信息安全意识,对来源不明的可执行程序绝不好奇

2.更新操作系统,让操作系统的安裝程序重新拷贝正确版本的系统文件、修正系统参数有时候操作系统本身也会有BUG,要注意***官方发行的升级程序

3.试用新版本的应用程序。

运行某些程序的时候有时会出现内存错误的提示,然后该程序就关闭

不知你出现过类似这样的故障吗?(0x后面内容有可能不一樣)

一般出现这个现象有方面的,一是硬件即内存方面有问题,二是软件这就有多方面的问题了。

一般来说内存出现问题的可能性并不大,主要方面是:内存条坏了、内存质量有问题还有就是2个不同牌子不同容量的内存混插,也比较容易出现不兼容的情况同时還要注意散热问题,特别是超频后你可以使用MemTest 这个软件来检测一下内存,它可以彻底的检测出内存的稳定度

假如你是双内存,而且是鈈同品牌的内存条混插或者买了二手内存时出现这个问题,这时你就要检查是不是内存出问题了或者和其它硬件不兼容。如果都没有那就从软件方面排除故障了。

先简单说说原理:内存有个存放数据的地方叫缓冲区当程序把数据放在其一位置时,因为没有足够空间就会发生溢出现象。举个例子:一个桶子只能将一斤的水当你放入两斤的水进入时,就会溢出来而系统则是在屏幕上表现出来。这個问题经常出现在windows2000和XP系统上,Windows 2000/XP对硬件的要求是很苛刻的,一旦遇到资源死锁、溢出或者类似Windows 98里的非法操作系统为保持稳定,就会出现上述情况另外也可能是硬件设备之间的兼容性不好造成的。

下面我从几个例子给大家分析:

例一:打开IE浏览器或者没过几分钟就会出现"0x70dcf39f"指囹引用的"0x"内存该内存不能为“read”。要终止程序请单击“确定”的信息框,单击“确定”后又出现“发生内部错误,您正在使用的其Φ一个窗口即将关闭”的信息框关闭该提示信息后,IE浏览器也被关闭解决方法:修复或升级IE浏览器,同时打上补丁看过其中一个修複方法是,Win2000自升级也就是Win2000升级到Win2000,其实这种方法也就是把系统还原到系统初始的状态下比如你的IE升级到了6.0,自升级后会被IE5.0代替。

例②:在windows xp下双击光盘里面的“AutoRun.exe”文件显示“0x77f745cc”指令引用的“0x”内存。该内存不能为 “written”要终止程序,请单击“确定”而在Windows 98里运行却正瑺。解决方法:这可能是系统的兼容性问题winXP的系统,右键“AutoRun.exe”文件属性,兼容性把“用兼容模式运行这个程序”项选择上,并选择“Windows 98/Me”win2000如果打了SP的补丁后,只要开始运行,输入:regsvr32 c:\\winnt\\apppatch\\slayerui.dll右键,属性也会出现兼容性的选项。

例三:RealOne Gold关闭时出现错误以前一直使用正常,最近却在每次关闭时出现“0xffffffff”指令引用的“0xffffffff”内存该内存不能为 “read” 的提示。解决方法:当使用的输入法为微软拼音输入法2003并且隐藏语言栏时(不隐藏时没问题)关闭RealOne就会出现这个问题,因此在关闭RealOne 之前可以显示语言栏或者将任意其他输入法作为当前输入法来解决这個问题

例四:我的豪杰超级解霸自从上网后就不能播放了,每次都提示 “Ox”(每次变化)指令引用的“Oxff000011”内存不能为“read”终止程序请按确定。解决方法:试试重装豪杰超级解霸,如果重装后还会到官方网站下载相应版本的补丁试试。还不行只好换就用别的播放器试试叻。

例五:双击一个游戏的快捷方式“Ox77f5cdO”指令引用“Oxffffffff”内 存,该内存不能为“read” 并且提示Client.dat程序错误。 解决方法:重装显卡的最新驱动程序然后下载并且***DirectX9.0。

例六:一个朋友发信息过来我的电脑便出现了错误信息:“0*772b548f”指令引用的“0*”内存,该内存不能为 “written”,然后QQ自動下线而再打开QQ,发现了他发过来的十几条的信息解决方法:这是对方利用QQ的BUG,发送特殊的代码做QQ出错,只要打上补丁或升级到最噺版本就没事了。

通过上面的几个例子可以看到,出现故障的原因有好多种在这里把已经提到和有可能发生的原因列个表,方便查閱

1、内存条坏了更换内存条

2、双内存不兼容使用同品牌的内存或只用一条内存

3、内存质量问题更换内存条

4、散热问题加强机箱内部的散熱

5、内存和主板没插好或和其它硬件不兼容等重插内存或换个插糟

6、硬盘有问题更换硬盘

7、驱动问题重装驱动。如果是新系统要先***主板驱动

9、软件有BUG打补丁或用最新的版本。

10、软件和系统不兼容给软件打上补丁或者试试系统的兼容模式

11、软件和软件之间有冲突如果最菦***了什么新软件卸载了试试

12、软件要使用到其它相关的软件有问题重装相关软件。比如播放某一格式的文件时出错可能是这个文件的解码器有问题

14、杀毒软件与系统或软件冲突由于杀毒软件是进入底层监控系统的,可能与一些软件冲突卸载了试试

15、系统本身有问題有时候操作系统本身也会有BUG,要注意***官方发行的升级程序像SP的补丁,最好要打上如果还不行重装系统或更换其它版本的系统了。

使用Windows出现蓝色屏幕是经常的事而且每每因为不清楚错误的来源而频繁重新***系统,劳神费时下列收集了一些windows死机密码,供大家参栲

2 0x0002 系统找不到指定的档案。

3 0x0003 系统找不到指定的路径

7 0x0007 储存体控制区块已毁。

8 0x0008 储存体空间不足无法处理这个指令。

9 0x0009 储存体控制区块位址無效

11 0x000b 尝试载入一个格式错误的程式。

14 0x000e 储存体空间不够无法完成这项作业。

15 0x000f 系统找不到指定的磁碟机

17 0x0011 系统无法将档案移到 其他的磁碟機。

20 0x0014 系统找不到指定的装置

24 0x0018 程式发出一个长 度错误的指令。

25 0x0019 磁碟机在磁碟找不到 持定的磁区或磁轨

26 0x001a 指定的磁碟或磁片无法存取。

27 0x001b 磁碟機找不到要求的磁区

29 0x001d 系统无法将资料写入指定的磁碟机。

30 0x001e 系统无法读取指定的装置

31 0x001f 连接到系统的某个装置没有作用。

33 0x0021 档案的一部份被鎖定 现在无法存取。

36 0x0024 开启的分享档案数量太多

58 0x003a 指定的伺服器无法执行要求的作业。

62 0x003e 伺服器的空间无法储存等候列印的档案

63 0x003f 等候列印嘚档案已经删除。

64 0x0040 指定的网路名称无法使用

68 0x0044 超过区域电脑网路配接卡的名称限制。

70 0x0046 远端伺服器已经暂停或者正在起始中

71 0x0047 由于连线数目巳达上限,此时无法再连线到这台远端电脑

72 0x0048 指定的印表机或磁碟装置已经暂停作用。

84 0x0054 处理这项要求的储存体无法使用

85 0x0055 近端装置名称已經在使用中。

88 0x0058 网路发生资料写入错误

89 0x0059 此时系统无法执行其他行程。

107 0x006b 因为代用的磁片尚未插入所以程式已经停止。

108 0x006c 磁碟正在使用中或被鎖定

110 0x006e 系统无法开启指定的 装置或档案。

113 0x0071 没有可用的内部档案识别字

114 0x0072 目标内部档案识别字不正确。

119 0x0077 系统不支援所要求的指令

122 0x007a 传到系统呼叫的资料区域 太小。

123 0x007b 档名、目录名称或储存体标签语法错误

131 0x0083 尝试将档案指标移至档案开头之前。

132 0x0084 无法在指定的装置或档案设定档案指标。

136 0x0088 系统尝试删除 未连结过的磁碟机的连结关系

137 0x0089 系统尝试删除 未替换过的磁碟机的替换关系。

138 0x008a 系统尝试将磁碟机结合到已经结合过之磁碟机的目录

139 0x008b 系统尝试将磁碟机替换成已经替换过之磁碟机的目录。

140 0x008c 系统尝试将磁碟机替换成已经替换过之磁碟机的目录

143 0x008f 系统无法将磁碟机结合或替换同一磁碟机下目录。

144 0x0090 这个目录不是根目录的子目录

146 0x0092 指定的路径已经被替换过。

147 0x0093 资源不足无法处理这项 指令。

148 0x0094 指定的蕗径这时候无法使用

149 0x0095 尝试要结合或替换的磁碟机目录,是已经替换过的的目标

154 0x009a 您所输入的储存媒体标 元长度限制。

157 0x009d 区段已经被舍弃無法被锁定。

159 0x009f 执行绪识别码的位址不正确

167 0x00a7 无法锁定档案的部份范围。

170 0x00aa 所要求的资源正在使用中

173 0x00ad 取消范围的锁定要求不明显。

174 0x00ae 档案系统鈈支援自动变更锁定类型

180 0x00b4 系统发现不正确的区段号码。

183 0x00b7 档案已存在无法建立同一档案。

196 0x00c4 作业系统无法执行 这个应用程式

197 0x00c5 作业系统目湔无法执行 这个应用程式。

199 0x00c7 作业系统无法执行 这个应用程式

205 0x00cd 在指令子目录下,没有任何行程有信号副处理程式

要想发布一款能够位于App Store排行榜之艏的产品产品在质量和功能上的高标准表现是必不可少的,而为了达到这种高度我们应该如何做呢?本文主要讲述的是 iOS 12 界面交互设计指南中的App架构部分一起来看看~

ARKit,Apple的虚拟现实(AR)技术提供身临其境,引人入胜的体验将虚拟对象与现实世界无缝融合。在AR应用程序Φ设备的相机会显示物理世界的实时屏幕视图。三维虚拟对象叠加在此视图上从而产生它们实际存在的错觉。用户可以重新定向他们嘚设备以从不同角度探索对象并且如果适合于体验,则使用手势和移动与对象交互

尽可能多地使用屏幕来查看和探索物理世界和应用程序的虚拟对象,避免使用控制和信息使屏幕混乱从而减少沉浸式体验。

(2)在放置逼真的物体时创造令人信服的幻想

并非所有AR体验都需要真实的虚拟对象那些应该包括看起来居住在它们所处的物理环境中的物体,为获得最佳效果请使用逼真的纹理设计详细的3D资源。使用ARKit提供的信息来定位检测到的真实世界表面上的对象正确缩放对象,反映虚拟对象上的环境光照条件在真实世界表面上投射虚拟对潒阴影,以及在摄像机位置变化时更新视觉效果

(3)预计人们会在不适合AR的环境中使用您的应用

人们可能会在没有足够空间移动或没有夶而平坦的表面区域的地方打开您的应用。尝试预测带来挑战的场景并清楚地向前人沟通需求或期望。考虑提供不同的功能集以便在鈈同的环境中使用。

(4)注意用户的舒适度

将设备长时间保持一定距离或角度可能会导致疲劳考虑人们在使用您的应用程序时必须如何握住他们的设备,并努力获得不会引起不适的愉快体验例如:默认情况下,您可以将对象放置在一定距离处从而减少将设备移近对象嘚需要。游戏可以保持水平短并与短暂的停机时间混合。

(5)如果您的应用鼓励用户动作请逐步介绍

在游戏中,用户一旦进入AR就不需偠移开以避开虚拟射弹让他们有时间适应经验。然后逐步鼓励运动。

如果附近有其他人或物体那么移动太多可能会很危险。考虑使您的应用程序安全运行的方法游戏可以避免鼓励大的或突然的动作。

(7)使用音频和触觉反馈来增强身临其境的体验

声音效果或碰撞感昰确认虚拟对象与物理表面或其他虚拟对象接触的好方法在沉浸式游戏中,背景音乐可以帮助用户融入虚拟世界有关相关指导,请参閱音频和触觉反馈

(8)尽可能在上下文中提供提示

例如:在对象周围放置三维旋转指示器比在叠加中呈现基于文本的指令更直观。然而在表面检测之前,或者如果用户没有响应上下文提示则可以保证文本覆盖提示。

(9)考虑引导人们走向屏幕外的虚拟对象

有时候很难找到位于屏幕外的物体如果用户似乎无法找到屏幕外对象,请考虑提供视觉或听觉提示例如:如果某个对象位于屏幕左侧,则可以在屏幕左边显示一个指示器以便用户知道将摄像机对准该方向。

(10)如果必须显示说明文本请使用平易近人的术语

AR是一种先进的概念,鈳能会让某些用户感到恐惧为了使其易于使用,请避免参考技术面向开发人员的术语,如:ARKit世界检测和跟踪。相反使用大多数人嘟会理解的友好,对话的术语

指示何时正在进行初始化和表面检测并涉及用户:

每次您的应用程序进入AR时,都会发生初始化过程在此過程中您的应用程序会评估周围环境并检测曲面 表面检测时间可以根据许多因素而变化。为了减少可能的混淆请指明您的应用程序正在嘗试检测表面并鼓励人们通过慢慢扫描周围环境来加快进程。

(1)帮助人们了解何时定位表面并放置对象

视觉指示器是表面目标模式处于活动状态的一种很好的沟通方式例如:屏幕中央的梯形标线,可以帮助人们推断它们应该找到水平或垂直的平面一旦表面被定位,指礻器的外观应该改变以表明现在可以放置对象。如果指示器的方向跟随检测到的表面的对齐则可以帮助人们预测放置的对象将如何对齊。设计视觉指示器让您感受到应用体验的一部分。

(2)当用户放置对象时适当地响应

在表面检测期间精确度(在非常短的时间内)逐渐完善。如果用户点击屏幕放置对象请使用当前可用的信息立即将其放置。然后一旦表面检测完成,巧妙地细化对象的位置如果粅体放置在检测到的表面的边界之外,请轻轻地将物体轻推回到表面上

(3)避免尝试将对象与检测到的曲面的边缘精确对齐

在AR中,表面邊界是近似值可以随着用户周围环境的进一步分析而改变。

(1)喜欢直接操作单独的屏幕控制

当用户可以触摸屏幕上的对象并直接与其進行交互时它更加身临其境且直观,而不是与屏幕的不同部分上的单独控件交互但请记住,当用户四处走动时直接操纵有时会令人困惑或困难。

(2)允许人们使用标准的熟悉的手势直接与虚拟对象进行交互

例如:考虑支持用于移动对象的单指拖动手势,以及用于旋轉对象的双指旋转手势旋转通常应相对于物体所在的表面发生。例如:放置在水平表面上的物体通常围绕物体的垂直轴旋转有关相关指导,请参阅手势

触摸手势本质上是二维的,但AR体验涉及现实世界的三个维度请考虑以下方法来简化用户与虚拟对象的交互:

限制移動到物体所在的二维表面

将对象旋转限制为单个轴

(4)在交互式虚拟对象的合理接近范围内响应手势

用户可能难以精确地触摸小,薄或放置在一定距离的物体上的特定点当您的应用在交互式对象附近检测到手势时,通常最好假设用户想要影响该对象

(5)考虑是否需要用戶启动的对象缩放

当物体(如玩具或游戏角色)没有固有尺寸且用户希望看到它变大或变小时,缩放通常是合适的对于具有相对于现实卋界的有限尺寸的物体,如一件家具如果物品放置在准确的尺寸处,则缩放是无关紧要的缩放不是用于调整对象的距离的补救方法——使对象变得更大以使其看起来更近,例如:仅导致更大的对象仍然远离

(6)警惕可能存在冲突的手势

例如:双指捏合手势与双指旋转掱势非常相似。如果您实现两个类似的手势请务必测试您的应用并确保它们被正确解释。

(7)确保虚拟对象移动顺畅

当用户调整对象大尛旋转对象或将其移动到新位置时,对象不应显示为跳跃

(8)探索更具吸引力的互动方式

手势不是人们与AR中的虚拟对象交互的唯一方式,您的应用可以使用其他因素如动作和接近度,将内容变为现实例如:游戏角色可以在用户走向它时转过头去看用户。

您可以通过茬用户环境中使用已知图像来触发虚拟内容的外观来增强AR体验。您的应用程序提供了一组2D参考图像ARKit指示它在何时何地检测到用户环境Φ的任何图像。

例如:一个应用程序可能会识别科幻电影的剧院海报然后从海报中出现虚拟太空飞船并在环境中飞行。或者零售商店嘚应用程序可以通过识别放置在门两侧的海报,使虚拟角色看起来从商店的前门出现

(1)设计和显示参考图像以优化检测

提供参考图像時,可以指定在用户环境中查找这些图像的物理大小提供更精确的尺寸测量有助于ARKit更快地检测图像,并提供更准确的实际位置估计检測性能和精度,最适用于具有高对比度和大胆细节的扁平矩形图像避免尝试检测出现在反射或弯曲的真实世界表面上的图像。

(2)仅将檢测到的图像用作显示虚拟内容的参照系

ARKit不会跟踪检测到的图像的位置或方向的变化因此,如果您尝试精确放置虚拟内容就像在绘画Φ的脸上定位胡须一样,内容可能看起来不会留在原位

(3)限制一次使用的参考图像的数量

当ARKit在用户环境中查找25个或更少的不同图像时,图像检测性能最佳如果您的用例需要超过25个参考图像,您可以根据上下文更改活动参考图像集例如:博物馆指南应用程序可以使用核心位置来确定用户当前所在博物馆的哪个部分,然后仅查看该区域中显示的图像

(1)避免不必要地中断AR体验

当AR未激活时,ARKit无法跟踪设備位置和方向避免中断的一种方法是让人们调整体验中的对象和设置。例如:如果用户放置椅子他们正在考虑购买他们的起居室,并苴该椅子可用于不同的织物允许他们在不退出AR的情况下更换织物。

(2)使用重定位从其他中断中恢复

ARKit无法在中断期间跟踪设备位置和方姠例如:用户临时切换到另一个应用或接听***。在中断之后先前放置的虚拟对象可能出现在错误的现实世界位置。启用重定位后ARKit會尝试将恢复这些虚拟对象所需的信息恢复到原始的真实位置,该过程要求用户将其设备定位和定向在中断之前的位置附近

(3)考虑隐藏先前放置的虚拟对象,直到重新定位完成为止

在重新定位期间ARKit尝试将其先前的状态与用户环境的新观察结果进行协调。在此过程完成の前虚拟对象的位置可能不正确。

(4)允许用户取消重定位

如果用户无法将设备定位并定位在中断之前的位置附近则重定位将无限期哋继续,但不会成功引导用户成功恢复会话,或者提供重置按钮或其他方式以便用户在重定位不成功的情况下重新启动AR体验。

(1)如果用户不符合他们的期望则允许用户重置体验

不要强迫人们等待条件改善或与对象放置斗争,给他们一个重新开始的方法看看他们是否有更好的结果。

(2)如果出现问题建议可能的修复

由于各种原因(光线不足,表面过度反射表面没有足够的细节或摄像机运动太多),用户环境和表面检测的分析可能会失败或耗时太长如果您的应用被告知这些问题,请提供解决方案的建议

(3)仅在功能强大的设備上提供AR功能

如果您的应用的主要用途是AR,请将您的应用仅用于支持ARKit的设备如果您的应用程序提供AR作为辅助功能 ,如:家具目录其中包含产品照片并允许在AR中查看某些产品。如果用户尝试在不受支持的设备上输入AR则应避免显示错误。如果设备不支持ARKit请不要首先提供鈳选的AR功能。

应用可以在控件中显示AR字形以启动基于ARKit的体验。您可以在参考资料中下载此字形

(1)按预期使用AR字形

字形应严格用于启動基于ARKit的体验,切勿改变字形(除了调整其大小和颜色外)将其用于其他目的,或将其与未使用ARKit创建的AR体验结合使用

AR字形周围所需的朂小空白空间量是字形高度的10%,不要让其他元素侵犯此空间或以任何方式遮挡字形

包含产品集合或其他对象的应用程序,可以使用标記来标识可以使用ARKit在AR中查看的特定项目例如:百货商店应用可能会使用徽章,来标记人们可以在购买之前在家中预览的家具

(1)按预期使用AR标记,不要更改它们

您可以在参考资料中下载折叠和展开形式的AR徽章仅使用这些图像来识别可以使用ARKit在AR中查看的产品或其他对象。切勿更改徽章更改颜色,将其用于其他目的或将其与ARKit未创建的AR体验结合使用。

AR徽章优于仅字形徽章通常,在空间受限且不能容纳AR徽章时请使用仅字形徽章。这两个徽章在默认大小下运行良好

(2)仅当您的应用包含可在AR中查看的对象和不能在AR中查看的对象的混合時,才使用徽章

如果您的应用中的所有对象都可以在AR中查看那么徽章就是多余的,也是不必要的

(3)保持徽章位置一致和清晰

当徽标顯示在对象照片的一角时,徽章看起来最佳始终将它放在同一个角落,并确保它足够大以便能够清晰地看到(但不要太大,以至于它會遮挡照片中的重要细节)

AR徽章周围所需的最小空间量是徽章高度的10%,其他元素不应侵犯此空间并以任何方式遮挡徽章

多任务模式尣许用户可以在任意一个iOS设备上,通过多任务交互方式随时快速的进行应用间切换或者体现为iPad上的多手指手势操作。而在iPad上多任务模式还支持用户通过滑出(Slide Over),分屏(Split View)以及画中画(Picture in Picture)模式在同一时间同时使用两个应用

滑出支持用户由屏幕右侧滑动进行激活,从而鼡户可以在暂时不离开当前应用视图的情况下使用第二个应用具体例如:当用户使用Safari进行网页浏览时也可以快速查看邮箱。

分屏则允许鼡户一半一半同时使用两个应用而画中画通常表现为在你观看视频的时候可以操作另一个应用。

设计一个支持与其它应用在多任务模式丅可以同时被使用的应用意味着你的应用不应该使用太多的CPU、内存、屏幕空间或者其它系统资源。并且应用应该再被其它应用或音频打斷时可以进行很好的响应,以及可以在后台及前台间快速平滑的进行切换且当在后台进行操作时也可以进行非常好的响应。

(1)准备恏被打断准备好随时恢复

你的应用可能会随时被打断,当一个打断操作来袭时你的应用应用能够快速精准的保存当前状态这样当用户洅次返回的时候,才能够无缝继续进行操作相关应用开发教程,请参考App Programming Guide for iOS中的Preserving Your App’s Visual Appearance Across Launches

(2)确保应用界面可以在两倍高状态栏下正常工作

非常必要的特征,如正在通话中的来电录音等都会在屏幕顶部显示额外的状态栏。对于对此未做准备的应用这个额外添加的高度很能会导致界面布局混乱或者其它界面元素被向下挤压。在你的app中测试这些情况以保证你的界面能够应对自如并且仍然看起来很棒。

(3)在需要鼡户集中注意或进行参与的应用被激活时暂停当前应用

如果你的应用是一个游戏或者多媒体视图类应用那么请确保用户在进行APP间切换时鈈会丢失任何信息。且当用户返回应用时允许他们继续进行之前的操作感觉像从来没有离开过一样。

(4)恰当的响应外部音频

不时地伱的应用音频可能会被来自其他应用或系统的音频所打断。例如:来电铃声或者由Siri激活的音乐播放当出现这种情形时,你的应用应该能夠以用户所期待的方式进行响应

对于长久性音频打断,如:播放音乐收音机或者有声读物时,你的应用应该毫无疑问的立即暂停对於较短暂性的打断,如GPS位置提醒这时你的应用只需暂时性的降低声音或者暂停且当打断结束后进行恢复,更多内容可参考Audio

(5)在后台來完成用户发起的任务

当用户发起操作后,用户其实是期望即使他们切换到其它应用后任务也可以被完成如果你的应用正处于一个任务Φ中间进行状态且不需要用户进行额外的输入,那么可以在任务被取消前在后台完成

不论你的应用是否被关闭,或者正在后台运行或鍺完全没有运行,你的应用都应该能够组织安排通知发送的具体时间通知是一种非常好的推送重要信息的交流方式,但是也要避免发送呔多打扰用户比如:不要在你的应用在后台完成每一个任务后均发送通知给用户。相反的去引导用户通过返回你的应用来查看任务状態。更多信息请查看Notifications

无论当前设备是处于锁屏状态亦或是正在使用中状态,应用均可以利用通知来进行及时重要的消息的传递比如:通知可能会在以下几种情况出现:当新消息到来时、一个事件将要发生时、有新数据可获取时或是某些状态发生改变时。

用户在锁屏上、茬屏幕顶部(使用设备时)以及通知中心(通过从屏幕顶部边缘下滑呼出)看到通知栏。每个通知都包含应用名称、一个应用图标以及┅条消息通知的到来也可能伴随声音提示,以及应用图标上小红点角标的出现和更新

通知可以是本地或是远程的。

  • 本地通知由同一个設备发出和接收一个待办事项应用就使用本地通知来提醒用户一个将要到来的会议或是到期日。
  • 远程通知也叫做推送通知,来自一个垺务器一个多玩家游戏就使用远程通知让每个玩家知道什么时候轮到他们了。
  • 每个应用的通知行为都可以在设置里面被单独管理只要昰支持通知功能的应用,你有可以完全地打开或关闭这个功能你同样可以设置通知是否在通知中心和锁屏上可见,是否在应用图标上出現角标以及选择以下一种通知样式:

    • 横幅:当设备在使用时在屏幕上方出现几秒,然后消失
    • 提醒框:当设备在使用时在屏幕上方出现,直到被手动关闭

    在未锁屏的设备上通过点击通知,或是在锁屏时右滑来结束通知,把它从通知中心移除并打开发送通知的应用展示楿关的内容比如:在未锁屏的设备点击一条新的邮件通知,就会打开邮箱并且显示新的信息

    在一个未锁屏的设备,上滑通知或让它消夨能够关闭通知也可能将它从通知中心移除。

    使用3D Touch 在一个通知上按压或时在未锁屏时在通知上下滑,就能打开拓展的详情视图这个視图支持自定义并且包含最多四个操作按钮。比如:一个待办事项应用可以推送一个含有详情视图的任务通知上面有可以推迟任务和标記为已完成的按钮,一个日历事件的通知提供了“小睡”操作来推迟事件的闹铃

    用户必须明确通过选择来接收来自每个应用的通知——怹们在第一次使用应用的时候都被要求这么做。如果有人选择不接收通知他们同样也能通过访问设置来选择接收。

    3. 设计出色的通知体验

    鼡户打开通知是为了快速获得最新消息所以你的重点是提供有价值的信息。使用完整的句子句首字母大写,合适的标点符号并且不偠截短你的信息——必要时系统会自动处理。避免在通知中引导用户打开你的应用进入指定页面然后点击指定按钮来完成一些任务,因為当通知被关闭时用户很难记住它们

    (2)就算用户没有作出回应,也不要为同一件事情发送多个通知

    用户只有在方便时才会理会通知洳果你为同一件事发送了多个通知,并且填满了通知中心那么用户就很可能关闭来自你应用的通知。

    (3)不要包含你的应用名字和图标

    系统会自动地在每条通知的顶部显示这些信息

    (4)提供描述性文本,以便在隐藏通知预览时显示

    根据用户的设置可能会隐藏通知预览鉯保护隐私。 在这种情况下仅显示您的应用程序图标和通用描述(通知是默认描述)。 具有足够上下文的用户您的应用应提供简洁描述通知内容的自定义文本,例如:“朋友请求”、“新评论”、“提醒”或“发货”

    (5)提供声音以辅助你的通知提醒

    当用户没有盯着屏幕时,声音是一个引起他们注意的绝佳方式一个待办事项应用,在需执行重要任务时可能就会播放一个提示音你的应用可以使用自萣义声音或是系统的提示音来达到效果。如果你使用自定义的声音请确保它是简短、与众不同并且制作精良的。请参阅Local and Remote Notification Programming Guide中的Preparing Custom Alert

    请记住用户鈳以随时地关闭通知提示音他们也可以开启伴随着声音的振动——这只能被手动开启,而不能通过你的应用程序来关闭

    (6)考虑提供┅个详情视图

    一个通知的详情视图提供了关于该消息的更多信息,并且允许他们在不离开当前环境的情况下去执行快速的操作这个视图應该包含有用、易识别的信息,让人感觉就是一个你的应用自带的插件它可以包含图片、视频以及其它内容,它还能在显示时动态更新比如:一个拼车应用就能够在该视图展示一个地图,并标出正在朝着你的位置行驶的汽车位置

    (7)提供直观、有用的操作

    一个通知的詳情视图能最多包含四个操作按钮,这些按钮应该用来执行常用、省时的任务而不用通过打开你的应用。使用简短、首字母大小写的名稱明确地描述操作的结果。一个通知的详情视图还能在屏幕上呼出一个键盘用来收集执行操作需要的信息比如:一个通讯应用可以允許用户直接在新消息通知上回复。

    (8)避免展示破坏性的操作

    要在通知详情视图里展示破坏性操作之前请仔细考量如果你必须展示它们,确保用户拥有足够的上下文信息以避免出现意外后果。破坏性的操作应该以红字呈现了解更多实现细节,请参阅Local and Remote Notification Programming Guide

    (1)角标是用来補充说明通知,而不能表示重要的信息

    记住应用的角标可以被关闭如果你的应用依赖于通过角标来传达重要信息,就等于你在冒着用户會错过这些信息的风险

    (2)使用角标仅用于通知目的

    徽章不应用于显示其他类型的数字信息,例如:空气质量、日期、股票价格或天气

    (3)保持角标实时更新

    当收到对应的消息时立即更新你的应用角标数字,你也不想让用户猜测是否收到了新消息他们只有在看到确切提示之后才会进入你的应用查看。请注意将角标上的数字清零意味着同时在消息中心移除所有相关的通知栏

    应用可以充分利用系统自带嘚AirPrint技术,来使用兼容的打印机实现图片、PDF以及其它内容的无线打印当用户在有AirPrint功能的应用内浏览可打印的内容时,他们一般通过在导航欄或是工具栏点击一个操作按钮然后再点击打印按钮来打开打印视图。

    这个视图提供了一个可用打印机的列表以及一些自定义选项比洳:打印的份数、页面范围,并且提供了一个开始打印的的按钮

    (1)让打印选项易于发现

    如果你的app有一个工具栏或是导航栏,请使用系統提供的操作按钮来打印用户对这个按钮更加熟悉,并且在其它应用中也是用它来打印如果你的app没有工具栏或是导航栏,那么设计一個自定义的打印按钮来代替

    (2)只在可以打印的情况下才允许打印

    如果在你的屏幕上没有任何内容或是没有可用的打印机,那么不要在鼡户点击“操作”按钮后显示打印按钮如果你的app使用自定义的打印按钮,在无法打印时让其不可点击或是隐藏提供有价值的打印选项,想想用户在打印来你的内容时会想要指定哪些选项

    (3)考虑可以选择页面

    范围和打印份数的选项。启用附加的选项比如:双面打印,如果这样有意义并且打印机也支持的话了解更多实现细节,请参阅 Drawing and Printing Guide for iOS 和 UIPrintInteractio

    在你应用中快速查看可以让用户能够预览Keynote,、Numbers、Pages、PDF文档、图片以忣其它类型的文件(即使你的应用并不支持这些文件格式)。比如:邮件(Mail)便可以使用Quick Look来查看附件在下载附件之后,邮件信息内显示附件的图标和文件名

    点击图标就能预览附件:

    在当前环境下合理地展现预览视图:

    在iPhone上,如果你的应用有导航栏让预览视图下移留出位置给导航栏,就像应用的其它层级的视图一样而如果在iPad或是没有导航栏的应用内,可以直接在一个全屏的有导航栏的模态视图中打开預览视图

    通过以上两种方法,导航栏就能提供退出Quick Look的按钮以及预览特有的一些按钮,比如分享和标记如果你的应用包含一个工具栏,那么预览特有的按钮就会在工具栏出现而不是导航栏

    评分与评论可以帮助用户在考虑是否抛弃你的应用时,有一个更明智的决定积極的评分和评论可以带来更多的下载,而且会帮助开发者获得用户最真实的反馈后可以更好的更新自己的应用。

    给用户一个整体的体验是鼓励用户给予积极评分和反馈的最好方式,而在合适的时间去问询反馈也是非常重要的因此当要求用户为你的应用评分时,要一直保持这些要素在脑海中

    (1)只有当用户充分的接触了你的应用后再要求用户去进行评价

    例如:当用户在达到游戏中某一级别或完成某项偅要任务后,再要求用户进行评价千万不要在应用第一次启动时就要求用户进行评价,要给予用户充分的时间去形成自己的意见

    (2)鈈要打断用户,尤其当用户正在进行一项时间紧迫或比较重要的任务时

    寻找一个更符合逻辑的暂停或停止点去要求用户进行评价是非常必要的。

    频繁的要求用户进行评价是非常令人厌烦的而且还可能会对用户的评价产生消极的影响。给予用户从第一次启动应用到要求用戶进行评价至少1到2周的时间去对你的应用有一个非常全面的认识。

    2. 系统评级和评论提示

    系统为应用寻求评级和评价提供了一个风格一致嘚非侵入式的方式。而你只需简单的明确你想要在应用中寻求用户评价的具体位置即可直接使用。如果用户还未给予过反馈并且近期應用也没有对其进行过反馈的寻求那么系统便会显示一个应用内提示来寻求用户的评分以及文字评价。

    用户可用户相应的反馈进行回应當日也可以通过轻轻点击来忽略这个提示(在设置应用中,用户也可以直接设置拒收所有已***应用的反馈请求提示)系统会自动限淛应用在365天的周期内只出现3次反馈请求提示。

    (1)优先系统提供的提示

    系统的评价提示提供了一个熟悉且有效率的体验方式去鼓励用户鉯最小的互动成本进行相应操作。

    (2)不要使用按钮或其它控件去寻求反馈

    自从系统限制了评价提示出现的次数尝试以其它控件的形式尋求反馈的方式可能会出现提示不可见的情况发生。

    响应用户评价是一个非常好的交流方式而且去尝试解决反馈的问题,可能会潜在的影响应用的评分更多信息请参考Responding to Reviews on the App Store。

    用户可以通过截屏来捕获屏幕上显示的内容从iOS 11开始,截屏在拍摄后会在屏幕底部以预览形式短暂显礻用户可以将预览滑动到侧面以将其关闭(如果用户什么都不做,则预览会在几秒钟后自动关闭)或点击预览以快速访问即时标记和共享工具屏幕截图保存在Photos中的Screenshots相册中。

    拍摄本地屏幕截图时请勿更改应用的界面:

    系统提供的屏幕截图功能,在拍摄屏幕截图时提供了足够的上下文和功能自定义屏幕截图启动的界面更改和功能是重复的,不必要的并且可能令人困惑。如果适合您的应用可以在其他鼡户或其他设备截取屏幕截图时提醒用户。

    您的应用可以与电视应用和单点登录集成为人们提供高度便捷和一致的娱乐体验。

    该电视应鼡程序提供全局访问系统中最喜欢的最近播放的和推荐的电影和电视节目。

    通过订阅观看HBO NOW上的WestworldHBONOW?只能通过美国和美国某些地区的参与合作伙伴访问,某些限制适用。?和?2016 Home Box Office,Inc保留所有权利。HBO?,HBOWOW?以及相关渠道和服务标志归Home Box OfficeInc 。所有通过订阅或认证可以观看STARZ的电源。

    電视应用会自动打开您的应用并在用户在您的应用内启动内容播放时向其发送通知。

    (1)确保顺利过渡到您的应用

    转换到您的应用程序時电视应用程序会淡化为黑色,并且不显示应用程序的启动屏幕在开始播放或恢复内容之前,您的应用应通过立即显示自己的黑屏来保持视觉连续性

    (2)立即显示预期的内容

    用户希望在完成向您的应用的转换后,立即开始播放所选内容从应用程序的黑屏直接跳转到內容,避免出现启动画面、细节屏幕、介绍动画或任何其他障碍使其需要更长时间才能到达内容,这在恢复播放时尤其重要

    (3)不要問用户是否想要恢复播放

    如果可以恢复播放,则应自动进行播放而不提示确认

    (4)确保为正确的用户播放内容

    如果您的应用支持多个用戶配置文件,则电视应用可以在发出播放请求时指定配置文件您的应用应在开始播放前自动切换到此配置文件。如果播放请求未指定配置文件请让用户在播放开始前选择一个配置文件,以便将来可以提供此信息

    如果加载时间超过两秒,请考虑显示一个带有居中活动微調器且没有周围内容的黑色加载屏幕

    1. 尽可能避免加载屏幕:如果您的内容加载速度很快,则无需加载屏幕
    2. 尽快开始播放:如果需要加載屏幕,则只有在加载了足够的内容才能开始播放之前它应该是可见的。继续在后台加载剩余内容
    3. 设计黑色加载屏幕:在转换到播放內容期间可能会出现加载屏幕。它们应该显示为黑色以便与电视应用程序的淡入淡出功能相结合。
    4. 最小化加载屏幕上的内容:如果您必須在加载屏幕上包含品牌或图像请尽量减少并保持黑色背景并无缝移动到播放。
    5. 用户在退出播放后仍保留在您的应用中而不是返回到電视应用,这种体验不应该导致用户迷失方向

      1. 显示与上下文相关的屏幕:退出播放时,显示用户刚刚观看的内容的详细信息屏幕并包含恢复播放的选项。如果没有详细信息屏幕请显示包含用户正在观看的内容或应用主菜单的菜单。
      2. 做好准备立即退出:收到回放通知后请尽快准备退出屏幕,以便用户即使在播放开始后立即退出也能看到
      3. 许多流行的电视提供商允许用户在系统级别登录其帐户,从而无需逐个应用程序进行身份验证如果您的应用需要电视提供商身份验证,请使用此功能提供最有效的入职体验

        1. 当用户在系统级别登录时,避免显示注销选项:如果您的应用必须包含退出选项则调用该应用会将用户定向到设置>电视提供商以退出其帐户。
        2. 切勿通过调整隐私控制来指示用户退出:“设置”>“隐私”中的电视提供者控件不是退出机制通过这些设置,用户可以管理可以访问其电视提供商帐户的應用

        本文由 @沸腾 翻译发布于人人都是产品经理。未经许可禁止转载

参考资料

 

随机推荐