watchOS 3 简介
本文介绍 watchOS 3 中为 Xamarin 开发人员提供的所有新增和修改的 API 和功能。
本文档将介绍以下主题:
- watchOS 3 中的新增功能
- Apple Pay 增强添加了对 Apple Watch 上的应用内支付的支持。
- 后台任务使应用能够在后台更新其信息,以便在用户需要时做好准备。
- 对 watchOS 3 做出了复杂功能增强,以便为应用提供新功能。
- 针对 watchOS 应用的新可用框架已公开。
- 主动建议允许应用主动向用户显示信息。
- 对 watchOS 3 做出了多项安全和隐私增强。
- 快照和停靠使用户能够快速访问 watchOS 应用。
- 用户通知向用户提供本地和远程通知。
- watchOS 3 中做出了多项 Watch 连接框架增强。
- watchOS 3 中做出了多项 WatchKit 连接框架增强。
- 锻炼应用增强为与锻炼相关的 Apple Watch 应用提供了新功能。
- watchOS 3 中做出了其他框架更改。
- watchOS 3 中已弃用的 API。
watchOS 3 中的新增功能
Apple 在 watchOS 3 中添加了多个新的 API 和服务,并对现有功能进行了许多增强,包括:
Apple Pay 增强
在 watchOS 3 中,PassKit 框架已经过扩展,支持在 Apple Watch 上运行的应用中(对实体商品和服务)进行安全的应用内付款。
使用新的 PKPaymentAuthorizationController 和 PKPaymentAuthorizationControllerDelegate 类来呈现和响应用户可以授权付款请求的界面。
若要了解详细信息,请参阅 Apple Pay 增强功能指南。
后台任务
watchOS 3 引入了多个后台任务,应用可以通过这些任务来更新信息,确保在用户打开应用之前,应用便已具有用户所需的内容。
以下新的后台任务可用:
- 后台应用刷新 - 通过 WKApplicationRefreshBackgroundTask 任务,应用可以在后台更新其状态。 通常,这包括另一项任务,例如使用 NSUrlSession 从 Internet 下载新内容。
- 后台快照刷新 - 通过 WKSnapshotRefreshBackgroundTask 任务,应用可以更新其内容和 UI,然后系统获取用于填充停靠栏的快照。
- 后台手表连接 - 在从配对的 iPhone 接收后台数据时,会为应用启动 WKWatchConnectivityRefreshBackgroundTask 任务。
- 后台 URL 会话 - 当后台传输需要授权或完成(成功或出错)时,会为应用启动 WKURLSessionRefreshBackgroundTask 任务。
若要了解详细信息,请参阅我们的后台任务指南。
复杂功能增强
小组件是一种小型视觉元素,可让你一目了然地了解有用的信息。 根据所选的表盘,用户可以自定义具有一种或多种复杂功能的表盘。
watchOS 3 使应用能够为手表应用创建一项或多项复杂功能,以便用户可以从表盘快速访问其信息。
此外,复杂功能还提供以下优势:
- 用户可以通过直接从表盘点击“复杂功能”来快速启动应用。
- 在表盘上安装应用的复杂功能之一会导致系统将应用保持在准备启动状态,尝试在后台启动应用,将其保留在内存中并为其提供额外的更新时间。
- 保证小组件每天至少 50 个推送更新。
- 当应用包含复杂功能时,它将显示在 Apple Watch 人脸库中。
在 watchOS 3 中,ClockKit 框架现在包含多个用于超大复杂功能的新模板,例如 CLKComplicationTemplateExtraLargeColumnsText 和 CLKComplicationTemplateExtraLargeRingImage。 此外,若要创建可本地化的文本,请使用 CLKTextProvider 类的新方法。
若要了解详细信息,请参阅我们的 watchOS 3 快速交互方法指南。
新推出的框架
watchOS 3 包含多个以前不可用的现有 Apple 框架,例如:
- SceneKit - 使用 SceneKit 可将 3D 模型包含在手表应用的 UI 中,其中包括其他平台上提供的大部分功能,例如照明、着色、动画、物理学和粒子系统。 不支持 3D 空间音频、自定义 Metal 或 OpenGL 着色器、核心图像滤镜和基于物理学的材料。
- SpriteKit - 使用 SpriteKit 可在手表应用的 UI 中渲染子画面并为其设置动画,包括其他平台上提供的大部分功能,例如动作、物理学、照明和粒子系统。 不支持 3D 空间音频、视频播放和核心图像滤镜。
- AVFoundation - 用于管理和播放音频。
- CloudKit - 用于在手表应用和 iCloud 容器之间移动数据。
- 核心音频 - 管理用于表示音频流、复杂缓冲区和时间值的数据类型。
- Gamekit -创建社交游戏。
主动建议
watchOS 3 允许应用在给定上下文中主动向用户显示信息。 为了支持此功能,NSUserActivity 现在添加了 MapItem
属性,该属性允许应用提供位置信息以供其他应用稍后使用。
若要了解详细信息,请参阅主动建议简介指南。
安全和隐私增强
Apple 在 watchOS 3 中对安全和隐私进行了多项增强,这可以帮助开发人员提高应用的安全性并确保最终用户的隐私。
因此,在 watchOS 3(或更高版本)上运行的应用必须静态声明其访问特定功能或用户信息的意图,方法是在其 Info.plist
文件中输入一个或多个隐私特定密钥,向用户解释应用为何希望获取使用权。
由于 watchOS 3 与 iOS 10 都进行了这些更改,请参阅 iOS 10 安全和隐私增强指南了解详细信息。
快照和停靠
在 watchOS 3 中,Apple 添加了停靠栏,用户可在这里固定他们最喜欢的应用并快速访问它们。 当用户按下 Apple Watch 上的侧边按钮时,将显示已固定的应用快照库。 用户可以向左或向右轻扫来查找所需应用,然后点击应用以启动它,将快照替换为正在运行的应用界面。
系统会定期拍摄应用 UI 的快照,并使用这些快照填充文档。watchOS 让应用有机会在拍摄此快照之前更新其内容和 UI。
有关详细信息,请参阅我们的后台任务指南和 Apple 的 WKSnapshotRefreshBackgroundTask 参考。
用户通知
watchOS 3 中引入的用户通知框架支持向 Apple Watch 发送本地和远程通知。 使用此框架可根据特定条件(例如一天中的时间或位置)计划通知,以及接收和处理通知。
若要了解详细信息,请参阅我们的 watchOS 3 快速交互方法指南。
Watch 连接框架增强
WCSession 类的新 HasContentPending
属性指示会话已在后台接收到需要处理的数据。 RemainingComplicationUserInfoTransfers
属性返回 iOS 应用可以更新其 watchOS 复杂功能的剩余时间。
若要了解详细信息,请参阅我们的后台任务指南。
WatchKit 框架增强
watchOS 3 对 WatchKit 框架做出了多项增强,其中包括:
- 应用可以使用新的 WKCrownSequencer 类获取 Digital Crown 的状态,并在用户使用 WKCrownDelegate 类旋转表冠时接收更新。
- WKExtension 类现在包含
ApplicationState
方法和 WKApplicationState 常量,应用可以使用它们来跟踪应用的运行时状态。WKExtension
还提供了两个可用于计划后台任务的新方法。 - WKExtensionDelegate 现在包含新的
ApplicationWillEnterForeground
、ApplicationDidEnterBackground
和HandleBackgroundTasks
方法,用于监视应用状态的变化和处理后台任务更新。 - 添加了新的 WKKGestureRecognizer 类,以便为手表应用提供以下类型的手势识别:WKLongPressGestureRecognizer、WKPanGestureRecognizer、WKSwipeGestureRecognizer 和 WKTapGestureRecognizer。
- 新的 WKinterfaceHMCamera 类为任何 HomeKit 附加的 IP 摄像头提供接口。
- 新的 WKInterfaceInlineMovie 类允许应用显示电影“海报”,当用户点击它时,该海报将替换为正在运行的电影。
- 新的 WKInterfacePaymentButton 类允许应用在其 UI 中显示 Apple Pay 按钮,点击该按钮可发起付款请求。
- 新的 WKInterfaceSCNScene 类提供一个用于在 Apple Watch 上显示 SceneKit 场景的界面。
- 新的 WKInterfaceSKScene 类提供一个用于在 Apple Watch 上显示 SpriteKit 场景的界面。
若要了解详细信息,请参阅我们的 watchOS 3 快速交互方法指南。
测验应用增强功能
健身相关应用可以在 Apple Watch 的后台运行,这是 watchOS 3 的新增功能。 若要启用此功能(并获取对 HealthKit 数据的访问权限),应用必须在 Info.plist
文件中添加值为 workout-processing
的 WKBackgroundModes
键。
此外,开发人员现在可以从已配对的 iPhone 上的 iOS 应用版本启动 watchOS 锻炼应用。
若要了解详细信息,请参阅我们的锻炼应用增强指南。
其他框架更改
除了上面列出的主要框架更改和新增之外,Apple 还在 watchOS 3 中进行了其他许多小的框架更改。
若要了解详细信息,请参阅其他框架更改指南。
弃用的 API
watchOS 3 中已弃用以下 API:
- 已弃用 UIKit 的
UILocalNotification
类,应将其替换为用户通知框架。
有关弃用和更改内容的完整列表,请参阅 Apple 的 watchOS 2.2 与 watchOS 3.0 API 的差异文档。