iOS应用程序自2月1日起必须兼容iOS 7
英文原文:Apps Have to be iOS 7 Compatible by February 1st
苹果近日宣布,iOS 应用程序自 2 月 1 日起必须兼容 iOS 7。在向 iTunes 商店提交新的应用程序或者应用程序更新时,开发人员必须使用 XCode 5 构建应用程序,而且这些应用程序需要针对 iOS 7 进行优化。兼容 iOS 7 包括根据当前的《iOS 人机交互指南》和《iOS 7 用户界面过渡指南》更新用户界面,以及使用新版本的 iOS API。
用户界面更新
iOS 7 的用户界面关注内容的清晰展示。开发人员应该避免使用像拟物化、阴影或者边框这样的图形元素,而且要使用整个屏幕向用户展示数据。用户界面元素务必不那么 显著,不应该分散用户对所展示内容的注意力。除了使内容展示更清晰以外,iOS 界面设计的控件现在占用的屏幕空间更小,所以可以展示更多的内容。另外,苹果建议开发人员尽可能地使用自动布局功能代替编程定位用户界面元素的做法。
文本处理现在是基于 TextKit 进行的,使用 UILabels、UITextFields 和 UITextViews 三个类。TextKit 为文本元素带来了字距调整、断字或嵌入图片等功能。开发人员可以使用不同风格的文本代替使用点或像素确定大小的字体。iOS 文本风格与 HTML 中的文本风格类似,包含诸如“标题”或“正文”这样的值。实际呈现的大小由 iOS 计算,可能会依赖于用户应用的缩放设置。
此外,iOS 7 还为用户界面设计人员提供了新的设计元素和技术:
- “半透明度(Translucency)”:开发人员可以选择使视图半透明。与不透明视图相比,它们能为用户展示底层的内容。根据《iOS 用户界面指南》,这对于临时重叠视图尤其有用,像滑入式菜单或设置面板。
- “深度(Depth)”:另外,对于展示给用户的对象,《iOS 用户界面指南》鼓励设计人员使用深度和层次作为表达它们之间关系的方法。为了产生深度效果,iOS 在用户界面中提供了一种假 3D 效果。当平移或倾斜设备时,用户能够透过浮在上面的对象看下面的内容。
iOS API增强
为了保持应用程序处于最新状态,iOS 7 提供了三种新的多任务处理模式: “获取”模式使应用程序定期地检查数据更新。开发人员可以为应用程序定义一个最小更新间隔,iOS 将在后台启动应用程序,并调用一个委托方法来接收新的数据。根据情况,如良好的网络连接,iOS 甚至可能在更新间隔时间用完之前启动应用程序。“远程通知”模式使用推送通知来触发应用程序更新。在 iOS 7 之前,用户在收到通知并启动应用程序后,就不得不等待应用程序内容更新完成。现在,应用程序收到通知后就在后台更新其状态,并在更新完成后通知用户。
MapKit 提供了高级的“覆盖图(overlay)”处理功能。开发人员现在可以定义不同的层来向地图上添加覆盖图。除此之外,MKOverlayView 类已经弃用,开发人员应该使用新类 MKOverlayRenderer 来代替它。MKDirections 类使应用程序可以请求路径信息,而不必切换到地图应用程序。借助 MKMapSnapshotter 类,开发人员可以基于坐标、高度或者间距等参数创建和显示一个地图区域的 UIImage。
应用程序之间可以使用 Airdrop 或者点对点连接相互通信。两种 API 都是以在没有互联网连接的情况下发现附近的设备为基础。应用程序可以注册特定的文件类型,然后可以通过 Airdrop 接收它们。iOS 会启动应用程序,并在收到新文件时调用一个委托方法。借助点对点连接,可以在附近的设备之间发布和发现服务。在建立会话之后,设备之间可以交换任意的消息 和数据。
为了防止有的设备不支持 iOS 7,开发人员仍然可以提供更新,并让用户从应用程序商店下载应用程序的早期版本。