SuperAPI AI 工具集

sirikit

通用与其它

查看项目

更新于 10-16 09:02

技能介绍

用途

SiriKit 技能面向希望在 iOS 与 watchOS 应用中接入 Siri 语音交互、快捷指令与智能建议的开发者。通过该框架,用户可以用语音或 Shortcuts 触发应用内的功能,系统也能基于用户行为给出智能建议。

主要能力

  • 意图处理(Intent Handling):实现三步流程——解析参数(Resolve)、确认意图(Confirm)、执行意图(Handle)。参数校验可返回成功、缺值、多义消解或不支持等结果。
  • 系统意图域:文档列出多个系统意图域,包括消息、通话、支付、约车、健身、媒体、照片、清单与笔记、车载命令、预约,并给出各域的代表性意图类,如 INSendMessageIntent、INStartCallIntent、INSendPaymentIntent、INRequestRideIntent、INStartWorkoutIntent、INPlayMediaIntent、INSearchForPhotosIntent、INCreateNoteIntent、INSetCarLockStatusIntent、INGetReservationDetailsIntent 等。
  • 自定义意图:通过创建 Intents.intentdefinition 文件、按「动词+名词」命名、设置类别并定义参数类型来扩展意图。参数类型分为系统类型(字符串、整数、布尔、日期、人物、位置、货币等)与自定义类型(枚举或对象)。
  • Shortcuts:支持在用户操作后捐赠快捷指令、删除指定或全部已捐赠的快捷指令。
  • 应用内处理意图:应用被启动时可在 SwiftUI 或 UIKit 中通过 user activity 恢复并处理意图。

使用方式

  1. 新建 Intents Extension(File → New → Target → Intents Extension),如需自定义 Siri 界面可勾选 Include UI Extension。
  2. 在主应用 target 的 Signing & Capabilities 中启用 Siri 能力。
  3. 编写意图处理器:继承 INExtension,在 handler(for:) 中按意图类型分发,并在专用 handler 中实现 resolve、confirm、handle 方法。
  4. 配置 Info.plist:在 NSExtension 下声明 IntentsSupported、IntentsRestrictedWhileLocked、NSExtensionPointIdentifier(com.apple.intents-service)与 NSExtensionPrincipalClass。
  5. 调用 INPreferences.requestSiriAuthorization 请求 Siri 授权。
  6. 按需捐赠或删除 Shortcuts,并在应用内处理传入意图。

适用场景

适合需要在 Apple 平台上实现语音下单、发送消息、发起通话、支付、约车、健身记录、媒体播放、照片检索、笔记与任务创建、车载控制、预约等交互的应用。

限制与约束

  • 后台执行:扩展运行时间短暂,长任务需启动主应用。
  • 共享数据:应用与扩展之间需使用 App Groups 共享数据。
  • 扩展内无 UI:自定义界面需使用 IntentsUI 扩展。
  • 测试:安装后需等待系统识别新的意图。
  • 本地化:需提供本地化的 AppIntentVocabulary.plist。