iOS SDK 的新功能

了解在 iOS SDK (用于为 iPhone、iPad 或 iPod touch 创建 app 的工具包) 中可用的关键技术和功能。有关最新发布版本 (包括每个 beta 版) 中 API 更改的详细信息,请参阅 iOS 发布说明 (英文)

iOS 12

配合 iOS 12 SDK,app 可充分利用 ARKit、Siri、Core ML、HealthKit、CarPlay、通知及更多工具中最前沿的技术。

ARKit 2

持续的多用户 AR 体验。利用世界地图数据,让您的 app 用户通过共享 AR 体验汇聚在一起;并让您的 app 可以储存 AR 会话的数据,以便日后能够轻松地再次访问。

如需了解更多信息,请参阅 ARKit (英文) 开发者文档中的“打造多用户 AR 体验 (英文)”和“存档世界地图数据以获得持续或共享体验 (英文)”。

对象检测。将附近的对象融入到您的 AR app 中。通过采用 ARKit 2 中的对象检测功能,您能够让用户扫描现实世界中的对象,并将这些对象的位置和移动融入 app 的增强现实情境中。

如需进一步了解对象检测功能,请参阅 ARKit 开发者文档中的“扫描和检测 3D 对象 (英文)”和“对象检测 (英文)”。

Siri 捷径

Siri 能够预测用户使用您的 app 想要执行的操作捷径,并在聚焦搜索、锁定屏幕和 Siri 表盘等位置向用户显示这些捷径建议。Siri 会通过 app 对 Siri 的反馈,学习这款 app 可以使用哪些捷径。此外,用户还可以使用反馈的捷径,向 Siri 中添加个性化的语音短语。

您需要确定自己 app 中有哪些操作与用户有关,有可能是用户以后想要使用的操作。您的 app 可通过将这些操作指定为相关捷径,让 Siri 获知这些操作。

如需进一步了解如何在 app 中提供捷径反馈,请参阅开发者文档中的“捷径 (英文)”,或下载“使用捷径提升 App 互动效率 (英文)”示例代码项目。

健康记录。

借助 iOS 12 中的 HealthKit,用户可以与您的 app 共享他们的病历。在征得用户的同意后,您可以根据他们的身体状况、化验报告、用药情况、生命体征等健康记录数据,为用户打造个性化的健康体验。

如需了解 app 如何请求权限来访问和使用临床记录,请参阅“访问临床记录 (英文)”和 HealthKit (英文) 开发者文档。

特效

现在,贴纸包中的贴纸和 iMessage 信息 app 中的图像均能以特效形式呈现。如需了解更多信息,请参阅“将贴纸包和 iMessage 信息 app 添加到特效 (英文)”和“信息 (英文)”开发者文档。

“通知”中的互动控件

通知内容 app 扩展现在支持自定视图中的用户互动操作。如果 app 的通知内容需要提示用户进行互动操作,您可以添加按钮和开关等控件。如需了解更多信息,请参阅自定“通知”外观 (英文)UserNotificationsUI (英文) 开发者文档。

与 Pencil 互动

通过双击 Apple Pencil,让用户访问您 app 中的功能。更多详情,请参阅适用于 iOS 12.1 的 UIKit 开发者文档中的与 Pencil 互动 (英文)

鉴定服务

借助新的 AuthenticationServices 框架,您可以在密码管理器 app 中整合密码自动填充功能。您的 app 还可以使用新的 ASWebAuthenticationSession (英文) 类,在 Safari 浏览器中您的网站上与关联的 app 之间共享登录会话信息,从而使 app 登录变得更简单。

如需进一步了解如何整合密码管理器 app,请参阅 AuthenticationServices (英文) 开发者文档。

支持导航 App 的 CarPlay 车载

借助新的 CarPlay 车载框架,导航 app 现可在 CarPlay 车载中显示导航信息。如需了解更多信息,请参阅 CarPlay 车载 (英文)开发者文档。

网络框架

新的网络框架让您可以更轻松地创建网络连接,以使用相应的传输和安全协议来发送和接收数据。

当您需要为您的自定 app 协议直接访问 TLS、TCP 和 UDP 等协议时,可以使用这个框架。如果是要加载基于 HTTP 和 URL 的资源,请继续使用构建在这个框架之上的 URLSession (英文)

如需了解有关网络框架的信息以及如何使用它来替换 app 中对低级套接字 API 的调用,请参阅关于网络 (英文) 框架的开发者文档。

Natural Language

Natural Language 框架是一种新的框架,用于分析自然语言文本并推导其特定于语言的元数据。你可以将此框架与 Create ML 配合使用来训练和部署自定义 NLP 模型。

如需进一步了解 app 如何处理和理解 Natural Language 文本,请参阅关于 Natural Language (英文) 框架的文档。

弃用

每过一段时间,Apple 会为某些 API 加上弃用宏来标记,以表明相应的 API 不应再继续用于现行的开发。当标记上弃用时,并不意味着指定的 API 应立即停止使用,而是表示相应的宽限期已经开始,应该考虑从这个 API 转换为更新、更现代的替代方式。已弃用的 API 通常还会在它们被弃用的系统中保留一段合理的时间,并可以在这段时间内继续使用。但是,必须在现行的开发中停止使用这类 API,并且这类 API 仅会获得小幅更改,以支持安全补丁或修复其他严重错误。已弃用的 API 可能会从操作系统的未来版本中完全移除。

作为开发者,您应该尽快地在代码中停止使用被弃用的 API。至少您在编写新代码时,绝不应使用已弃用的 API。如果您现有的代码中存在已弃用的 API,请尽快更新这个代码。

弃用 OpenGL ES

使用 OpenGL ES 构建的 app 仍能在 iOS 12 中运行,但是 iOS 12 已弃用 OpenGL ES。之前使用 OpenGL ES 的游戏和图形密集型 app 现应采用 Metal。

Metal 经过全面重新设计,能够以最合理的方式访问 iOS、macOS 和 tvOS 设备上的新型 GPU。Metal 避免了传统技术中固有的开销问题,为您呈现最新的图形处理功能。Metal 对图形和计算提供统一支持,让您的 app 能够高效地利用最新的渲染技术。如需了解如何使用 Metal 开发 app 和游戏,请参阅关于 Metal (英文)Metal Performance Shaders (英文)MetalKit (英文) 的开发者文档。