iOS SDK 的新功能

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

iOS 15 SDK

借助 iOS 15 SDK,您可以构建各种 app,利用同播共享功能和群组活动 API 打造全新共享体验。Swift 5.5 提供并发编程支持,此外语言中还内置了 async/await 和 Actor。专注模式和通知功能可帮助用户专心处理最重要的事务,此外还提供了新的 API,让您的 app 能够区分用户此刻需要查看的通知。ARKit 和 RealityKit 提供了强大的自定义功能,让您的增强现实体验看起来更加栩栩如生。借助 Swift 和 Playground 集成以及设备端训练,Create ML 变得更加易用和强大。另外,iOS 和 iPadOS 上推出了 Safari 浏览器网页扩展,有助于打造更加灵活和强大的浏览体验。

同播共享和群组活动

同播共享可帮助用户以全新方式分享您的 app。流媒体 app 可以利用新的群组活动 API 支持用户共享内容,为用户带来高保真视频,同时所有同步工作均由系统负责处理。对于流媒体之外的共享体验,GroupSessionMessenger API 提供了安全的数据通道,让您的 app 能够在多个用户之间,同步他们各自在您 app 内的不同实例。

查看文档 (英文)

专注模式和通知

有了专注模式,用户可以根据自己的需求选择在哪些时间接收通知。而借助中断级别 API,您还可以从四种中断级别 (包括新的被动式和时效性级别) 中选择一种,帮助用户实现更加细致的通知控制。通讯类 app 的通知现在具有独特的外观,这些 app 在征得用户许可后,可同步它们的状态,以反映用户当前的系统级专注模式状态。

查看文档 (英文)

SwiftUI

SwiftUI 提供了多项新的功能,例如改进的列表视图、更好的搜索体验,以及对控制专注模式的支持。有了新的画布 API 这个 drawRect 的现代 GPU 加速替代方案,将能大大提高您对底层绘制语言的控制。而借助新的辅助功能表示 API,您的自定控件即可轻松继承现有标准 SwiftUI 控件的完整辅助功能支持。

进一步了解 SwiftUI

UIKit

UIKit 中推出了表单呈现控制器,让您可以将视图控制器呈现为可自定、可调整大小的表单。UIKit 提供了新的 API,可为以下功能提供支持:配置按钮、显示弹出式按钮、新的无边框栏外观、图像解码,以及创建图像的缩略图版本。从 iOS 15 开始,iPhone 会默认启用拖放功能。

查看文档 (英文)

键盘布局参考线

借助新的键盘布局参考线,您的 app 可以根据键盘的大小和位置轻松调整其布局。UIKit 中支持新的追踪布局参考线,能够在键盘固定在屏幕底部时、未固定时或悬浮于 app 上时自动启用和停用约束,助您为用户带来出色的文本输入体验。

查看“利用键盘布局参考线调整您的布局”(英文)

Core Location UI

CoreLocationUI 是一个用于引入位置按钮的全新框架,让用户可以在需要时临时授权允许您的 app 访问其位置。这个按钮可与 Core Location 安全交互,以请求位置数据的访问权限。

查看文档 (英文)

辅助功能

辅助功能框架推出了音频图,这是一种展示图表中数据的新方式,旁白功能可借此构建音频并朗读数据。这个框架还添加了一个 API,用于查询与 MFi 助听设备相关的信息,例如流媒体偏好设置、流媒体功能和配对的助听设备。

查看音频图文档 (英文)

查看助听设备支持文档 (英文)

增强现实

ARKit 5

ARKit 5 为最新款 iPad Pro (第五代) 上的超广角摄像头带来面部追踪支持,让该设备可以使用原深感摄像头同时追踪最多三个面孔,为拟我表情和 Snapchat 等前置摄像头体验提供支持。

进一步了解 ARKit

RealityKit 2

利用 macOS 上全新的物体捕捉 API,只需几分钟即可将 iPhone 或 iPad 中的照片转换为针对增强现实进行优化的高质量 3D 模型。另外还有多项全新功能,支持自定渲染目标和材质、可自定的素材资源载入、由玩家控制的人物等等,让您可以更好地控制您的增强现实对象和场景。

进一步了解 RealityKit

机器学习

Create ML

除了 macOS 外,iOS 和 iPadOS 上现在也以 Swift 框架的形式提供 Create ML。您可以使用 Swift 脚本或 Playground,通过编程方式试验并实现模型创建自动化。构建利用 Create ML API 的动态 app 功能,直接使用用户输入的内容或设备端行为训练模型,让您在保护用户隐私的同时,为其提供个性化的自适应式体验。

Create MLCreate ML API 和 Xcode 附带的开发者工具添加了手部位置和手部动作分类器任务,分别用于识别静态图像中的手部位置和视频中的手部运动。

查看 MLHandPoseClassifier 文档 (英文)

查看 MLActionClassifier 文档 (英文)

查看 Create ML 文档 (英文)

Core ML

Core ML 增添了 ML Packages,这是一种十分具有前瞻性的全新模型格式,让开发者不仅能够灵活编辑元数据,还能使用源控制查看并跟踪具体更改。Core ML 还增添了 ML Programs,这是一种全新的模型类型,该模型能够提高编译效率,使模型的架构与其权重分离,并能提高对中间张量计算精度的控制。借助新的 MLShapedArray API,您可以使用惯用的 Swift 处理多维数据,从而提升代码的类型安全性和可读性。

查看“将模型文件更新为模型包” (英文)

查看 MLShapedArray 文档 (英文)

表格数据。利用表格数据,您可以通过编程方式轻松导入 JSON 和 CSV 文件中的信息,还能为 Core ML、Create ML 或您的自定解决方案准备数据集。您可以根据自身需求,使用表格数据 的中心 DataFrame API 对表格数据的行与列执行排序、合并、分组、分拆、编码、解码、分解、筛选、分切、组合和转换操作。

查看表格数据文档 (英文)

查看 DataFrame 文档 (英文)

声音分析。声音分析增添了一个新的声音分类器,让您的 app 可以识别实时音频或音频文件中的 300 多种独特声音。借助一个新的时间窗口持续时间 API,您可以比照时间精度来调节预测准确性。

查看文档 (英文)

游戏

GameKit

GameKit 提供了全新的方式,让用户能更轻松地发现和邀请玩家参与游戏。玩家现在可以邀请联系人、信息群组成员,或通过电话号码或电子邮件地址邀请任何人。玩家可以查看其他玩家接收和接受邀请的状态。如果已加入的人数已达到最低要求,玩家也可以先开始游戏,同时等待其他人的加入。

查看文档 (英文)

游戏手柄

游戏手柄框架添加了虚拟手柄 (真实手柄的软件模拟),其用户交互方式与真实手柄并无二致。您可以针对您的游戏所需,选择合适的配置和输入元素,使其能更好地配合您的游戏显示。

查看文档 (英文)

StoreKit 2

StoreKit 的全新 App 内购买项目 API 提供了一种简单而强大的方式,让您的 app 可以安全地处理各种产品和交易。这个新 API 可以利用并发编程支持等现代 Swift 功能来简化 app 内购买项目工作流程。其经过加密签名的交易和订阅信息采用 JSON Web Signature (JWS) 格式,可以在客户端上安全简便地进行解析。新的授权 API 可用于轻松确定您的 app 应该为用户解锁哪些内容和服务。这个新的 StoreKit API 可在整个 app 内购买项目流程中使用,包括显示 app 内购买项目信息、管理内容的访问权限,以及在 app 内提供客户服务等。

查看 StoreKit 文档

查看 App 内购买项目文档

Apple Pay

在您的 Apple Pay 交易中添加优惠券、延期付款、重复付款、发运日期和只读取货地址等,为用户提供更多选择。

查看“在您的 app 中提供 Apple Pay” (英文)

查看网页版 Apple Pay 文档 (英文)

Safari 浏览器网页扩展

Safari 浏览器网页扩展使用 HTML、CSS 和 JavaScript,提供强大的浏览器自定义选项和新的网页功能。在 iOS 15 中,所有支持 Safari 浏览器的 Apple 设备上都可以使用 Safari 浏览器网页扩展。

查看文档 (英文)

屏幕使用时间

提供家长控制功能的 app 可以利用屏幕使用时间 API,为更多适合家长使用的工具提供支持。您可以通过隐私为先的方式使用核心限制和设备活动监测等重要功能。

ManagedSettings 和 ManagedSettingsUI。使用 ManagedSettings (英文) 在家长或监护人的设备上定义使用策略和设置约束,并应用到“家人共享”群组中的其他设备上。ManagedSettingsUI (英文) 让您有机会自定屏幕使用时间 API 的屏蔽视图,以便与 app 的品牌形象和风格保持一致。

FamilyControls。FamilyControls (英文) 要求“家人共享”群组中的家长或监护人在登录了其子女的 iCloud 帐户的设备上授权家长控制,从而帮助家长或监护人实现对子女设备的控制。FamilyControls 提供了一个安全的环境,确保只有“家人共享”群组中的家庭成员才能授予访问权限。它也为选择 app、网域和目录提供了一种安全的方式,可以保护用户的隐私。

DeviceActivity。Device Activity (英文) 让 app 能够以一种保障隐私的方式监控用户在 app 中和网站上的活动。

查看屏幕使用时间 API 文档 (英文)

ShazamKit

借助音频识别,让您的 app 体验更精彩丰富。将音乐与 Shazam 庞大乐库中的数百万首歌曲进行匹配,或者通过使用视频和播客等来源中的音频来创建您自己的自定义乐库,从而轻松识别任何预录制的音频。

进一步了解 ShazamKit

MusicKit

利用 Swift,将 Apple Music 轻松整合到您的 iOS 和 iPadOS app 中。MusicKit 框架提供了一个在 Swift 中访问音乐项目的新模型层,同时还提供了播放支持,让您能够将音乐添加到自己的 app 中。

进一步了解 MusicKit (英文)

接近互动

构建与配件搭配使用的 app,让配件只需靠近搭载 U1 芯片的 Apple 设备,就能与 app 进行交互。利用超宽带技术,打造精确度更高、方向感更强的 app 体验。

查看文档 (英文)

HomeKit

iOS 15 SDK 中的 HomeKit API 会自动与支持 Matter 的配件协同工作。您现在可以利用 Matter 来测试您的智能家居 app 了。Matter 是一种统一的开放连接标准,可提升智能家居配件的兼容性,让这些配件与您的设备无缝协作。

进一步了解 HomeKit (英文)

HealthKit

HealthKit 添加了一项请求对可验证临床记录进行一次性访问的功能。这些记录将用户的身份信息与免疫记录或实验室检测结果等临床数据绑定在一起。生成这些数据的组织可以对此捆绑信息进行加密签名,供 HealthKit app 访问和验证。

查看 HKVerifiableClinicalRecord 文档 (英文)

查看 HKVerifiableClinicalRecordQuery 文档 (英文)

CloudKit

CloudKit 基于 Swift 5.5 中新的 async/await 支持而构建,提升了异步 API 的易用性和可配置性。CloudKit 添加了记录区共享 (英文),它在现有的共享架构基础上更进一步,让用户能够与其他 iCloud 用户共享一个记录区域中的完整内容。您现在可以在 CKRecord 上使用新的 API 来加密记录的值 (英文),从而为用户提供可靠的隐私保证。利用新的 CloudKit 模式语言 (英文),您可以检索和上传 CloudKit 模式的文本表示,这意味着您现在可以使用用于 app 源代码的相同工具对它进行版本控制。

查看 CloudKit 文档 (英文)

CloudKit Console。CloudKit 推出了全新 CloudKit Console 和 cktool 命令行界面,助您改进工作流程。CloudKit Console 是一个直观的网页控制面板,可供您在 app 的整个开发生命周期内使用。

进一步了解控制台 (英文)

Core Data。Core Data 提供了新的 API,有助于与其他 iCloud 用户共享托管对象,特别是由 CloudKit 支持的永久性存储。另外,您现在可以选择先加密实体的属性,再将它们存储到 iCloud。聚焦集成也得到了增强,可通过额外的 API 来精细地控制何时将哪些数据添加到索引中。

查看 Core Data 文档 (英文)

虚拟会议扩展

提供虚拟会议服务的 app 可以使用 EventKit 中的这个新 app 扩展,直接整合到用户的日历日程中。您将能够提供日程的自定地点、方便用户一键加入会议的链接,以及拨号详情等其他信息。

查看文档 (英文)

iOS 14

借助 iOS 14 SDK,您可以利用轻 app,帮助用户更加轻松地发现 app 的核心功能。SwiftUI 推出了新的 app 生命周期以及新的视图布局。它支持全新 WidgetKit 框架,该框架使您的 app 可以直接在 iOS 主屏幕上显示信息。机器学习技术为模型添加了样式转换和动作分类,并提供了基于 CloudKit 的部署解决方案。计算机视觉 API 的新增功能可帮助您的 app 更全面地分析图像和视频。ARKit 的功能改进可帮助设备与其周围的世界实现更紧密的整合,并且您可以在电子邮件和网站中添加标记,帮助 Siri 日程建议来呈现您的日程。

轻 App

轻 app 是 app 的轻量级版本,为用户提供 app 的部分功能。轻 app 可以在需要时随取随用,而且能够迅速启动。用户可以从多个地方发现和打开轻 app,包括 Safari 浏览器、“地图”和“信息”,也可以在现实环境中通过二维码和 NFC 标签发现并打开。轻 app 还为用户提供了从 App Store 下载完整版 app 的机会。要了解如何创建自己的轻 app,请参阅 轻 app 文档 (英文)

小组件

小组件让用户可以直接在 iOS 主屏幕上一目了然地快速、及时查看来自 app 的信息。iOS 14 提供了重新设计的小组件体验。您的 app 能够以不同的尺寸呈现小组件,这些小组件支持用户自定,可加入互动功能,还能在适当的时候更新内容。要了解有关设计小组件的信息,请参阅“Human Interface Guidelines (英文)”。要了解如何在 app 中支持小组件,请参阅 WidgetKit (英文) 框架。

SwiftUI

SwiftUI 提供了一系列新的内置视图,包括进度指示器和文本编辑器。它还支持新的视图布局,如网格和大纲。网格和全新惰性版本的堆叠只在需要时加载项目。

Xcode 12 开始,您现在可以使用 SwiftUI 来定义整个 app 的结构和行为。您可以借助各种场景来编写 app,利用场景包含的视图层次结构定义 app 的用户界面。您可以在您的所有 app 中添加菜单命令、处理生命周期事件、调用系统操作,以及管理储存空间。通过将 WidgetKit 整合到 app 中,您还可以创建小组件,让用户可以直接在 iOS 主屏幕上或 macOS 通知中心里快速访问重要的内容。有关更多信息,请参阅“App 结构和行为 (英文)”。

ARKit

ARKit 增加了位置锚定,该功能可以利用全新 Apple 地图中的细化位置功能,在特定的地理位置实现后置摄像头增强现实体验。借助全新景深 API,您可以访问更精确的距离和深度信息,这些数据均由 iPad Pro 上的激光雷达扫描仪采集。要进一步了解这些功能,请参阅 ARKit 框架文档。

机器学习

iOS 14 中的更新让您的机器学习 app 可以实现新的功能、灵活性和安全性。Core ML 增加了模型部署和一个仪表盘,以便利用 CloudKit 托管和部署模型,这样,您无需更新 app 或自己托管模型,就可以轻松地更新模型。Core ML 模型加密为您的模型额外增加了一层安全保障,为您处理加密过程和密钥管理。Core ML 转换器支持直接将 PyTorch 模型转换为 Core ML。

Create ML app 新增的样式转换模板能够对照片和视频进行实时样式化处理,而新增的动作分类模板可以对视频片段中单个人物的动作进行分类。有关更多信息,请参阅 Core MLCreate ML 开发者文档。

计算机视觉

iOS 14 中,计算机视觉框架增加了多个 API,可实现视频中的轨迹检测、图像和视频中手和身体的姿态预测,以及用来跟踪图像和视频中物体边缘及特征的轮廓检测,还有用于定义连续视频帧之间运动模式的光流处理。要进一步了解这些功能,请参阅计算机视觉 (英文)框架文档。特别值得一读的是“构建功能丰富的运动分析 App (英文)”,可帮助您通过示例 app 了解这些功能是如何整合在一起的。

自然语言

自然语言框架新增了一个 API,可提供语句嵌入功能,用于为任意字符串创建矢量表示;支持文字标记功能,用于训练为特定领域定制的自然语言分类模型;还可提供置信度分数,用于对框架预测进行评分。有关更多信息,请参阅自然语言 (英文) 框架文档。

App Store 隐私信息

隐私保护是整个 iOS 体验的核心所在,而 App Store 中新增的隐私处理信息展示功能可帮助用户更清晰地了解个人信息的处理方式,并更好地掌控他们的个人信息。在 iOS 14 上,app 需要征得用户的许可,才能在其他公司的 app 和网站上跟踪用户。今年晚些时候,App Store 将帮助用户了解所使用 app 的隐私做法,为此,您需要在 App Store Connect 中输入您隐私做法的详细信息,该信息会在您的 App Store 产品页上显示。

Siri 日程建议标记

您可以使用 Siri 日程建议标记功能在网页和电子邮件中提供日程详细信息。Siri 可以解析旅行安排、电影、体育赛事、现场表演、餐厅预订和社交活动。解析完成后,Siri 可以建议行车路线、拼车前往预定的活动,或者在表演将要开始前启用勿扰模式。要了解如何将自己的日程与 Siri 整合,请参阅“Siri 日程建议标记 (英文)”文档。

PencilKit

PencilKit 现支持文本栏内的手写识别功能。借助手势,用户还可以选择或删除文本,以及合并或拆分词语。您可以在 app 中添加数据检测、文本及形状的识别和选择功能。有关更多信息,请参阅 PencilKit (英文) 框架文档。

辅助功能

利用全新辅助功能 (英文)框架,您的 app 可以根据具体情境,以动态方式向用户提供一小部分无障碍内容。

MetricKit

MetricKit 增加了一种新型的有效负载诊断程序,用于跟踪特定 app 故障,比如崩溃或磁盘写入异常。有关更多信息,请参阅 MetricKit (英文) 框架文档。

App 内购买项目的家人共享

家人共享是用户与所有家庭成员分享订阅内容、购买项目等内容的简单方式。在 iOS 14 中,您可以选择针对用户的 App 内购买项目和订阅内容提供家人共享,这样用户的全家人都可以获享额外的益处。请参阅 SKProduct (英文)SKPaymentTransactionObserver (英文),以了解有关这些全新 API 的信息。

屏幕使用时间

iOS 14 内置屏幕使用时间 API,用于共享和管理网页使用数据,以及观察父母或监护人做出的更改。有关更多详细信息,请参阅屏幕使用时间 (英文) 框架文档。

统一类型标识符

使用新的统一类型标识符 (英文) 框架可以描述用于传输的文件格式和内存数据,如粘贴板;此外还可以标识资源,如目录、宗卷和数据包。

文件压缩

使用新的 Apple Archive (英文) 框架可以在 iOS 中对目录、文件和数据执行快速、多线程的无损压缩。