探索App Intents:让你的应用与Siri无缝互动的新方式
苹果推出了一个新框架——App Intents,使开发者可以在iOS 18.2+、macOS 15.2+等平台上集成Siri和Apple Intelligence,实现对应用内容的读取和操作。
App Intents使应用的功能和内容能无缝融入系统体验中,例如Siri、Spotlight搜索、快捷指令和小组件,让用户可以轻松访问应用核心功能,并获得更智能的Siri帮助。
使用 App Intents 的主要功能
-
通过 Siri 直接控制应用:用户可以对 Siri 发出指令,例如“查找我的航班”或“添加待办事项”,Siri直接与应用交互。 -
应用内容出现在 Spotlight 中:用户可在 Spotlight 搜索到应用中的内容,避免打开应用。 -
支持快捷指令和自动化:用户可以创建快捷指令以自动执行特定操作。 -
通过硬件按钮触发操作:支持通过iPhone或Apple Watch按钮启动特定功能。
App Intents 的基本组件
-
App Intent(应用意图):定义用户可以触发的具体操作,如“打开文档”或“发送消息”,供Siri、快捷指令或Spotlight调用。 -
App Entity(应用实体):表示应用内容,如照片、联系人或文件。定义后,用户可通过Siri或Spotlight搜索并访问这些内容。 -
App Enum(应用选项):定义选项集合,例如任务状态或相册分类,帮助Siri理解请求内容的上下文。
快捷指令和自动化功能
App Intents支持通过快捷指令设置自动化操作。例如,用户可设置“早上好”快捷指令,让Siri在早晨自动打开新闻应用并显示当天新闻。
硬件交互支持
App Intents支持在iPhone和Apple Watch的物理按钮上设置快捷方式,如“一键打开相机”或“启动健身追踪”。
实际应用场景示例
假设开发一款旅行助手应用:
-
查询航班信息:定义“查看航班”操作,用户可通过Siri获取航班详情。 -
Spotlight 搜索支持:用户无需打开应用即可在Spotlight中找到航班信息。 -
快捷指令支持:设置“出差模式”快捷指令,点击后可自动显示天气、航班和酒店信息。 -
Apple Watch 操作按钮:设置Apple Watch按钮,快速访问航班或行程信息。
应用内容与 Siri 和 Apple Intelligence 的互动
新API允许用户在应用中查看内容时,通过Siri获取相关信息或执行操作。例如,在阅读文档时,用户可以问Siri“这份文件的主要内容是什么?” Siri会根据内容结构回答问题。
场景示例
-
文档阅读应用:用户可以让Siri总结报告的结论。 -
邮件客户端:Siri可为用户概述长邮件的内容。
这种集成提升了用户体验,Siri可以更直观地查询、获取内容信息并执行操作。
实现方法
开发者通过 AppEntity
定义应用内容,并与 NSUserActivity
关联,使系统可以识别这些内容。AppEntity还需符合 Transferable
协议,以支持多种内容格式(如纯文本、PDF、图片等),方便Siri在不同情境下使用内容。
集成操作至 Siri 和 Apple Intelligence
苹果提供了多种助手架构(Assistant Schema),让开发者可为不同内容类型创建适合的Siri响应。例如:
-
浏览器架构:开发者可使用 .browser.tab
,用户可以询问Siri有关网页的内容。 -
文件管理架构:文件管理应用使用 .files.file
,用户可让Siri总结文件内容。 -
照片架构:照片应用使用 .photos.asset
,用户可以让Siri描述照片内容。
这些架构帮助Siri识别并理解不同类型内容请求,提供上下文相关的智能回复。
助手架构(Assistant Schema)简介
助手架构是一组标准化模板,帮助Siri识别应用功能。例如,对于图片管理应用,photos.openAsset
架构可以帮助Siri理解展示照片的指令。
关键组件:
-
AppIntent:定义用户通过Siri触发的功能(如打开照片)。 -
AppEntity:表示应用中特定内容(如照片或文件)。 -
AppEnum:定义选项(如图片分类)。
如何集成 Siri 和 Apple Intelligence
开发者可按以下步骤创建符合架构的意图:
-
确定功能领域:为每个意图指定内容领域(如照片、文件)。 -
创建新的Swift文件:选择适用的架构(如 photos_
)。 -
使用宏:添加 @AssistantIntent(schema:)
宏来定义功能。 -
构建和调试:编译代码,确保没有架构不匹配的错误。
开发者还需确保选项和内容符合架构规范,例如照片应用中定义照片实体和分类选项,以便Siri识别并处理。
更新和迁移意图
如需更新现有意图,可设置 isAssistantOnly = true
,让新意图仅供Siri识别,避免影响用户的快捷指令。
通过集成Siri和Apple Intelligence,应用操作更加自动化。开发者仅需定义符合要求的操作和内容,即可提升用户的智能化、便捷化体验。
本文由 mdnice 多平台发布