用途:面向 Swift 开发者的 App Intents 集成参考,用现代 Swift-first API 把 App 操作暴露给 Siri、Apple Intelligence、快捷指令、Spotlight、专注模式过滤器、操作按钮、控制中心、WidgetKit、实时活动与视觉智能等系统体验,取代旧的 SiriKit 自定义 intent。
主要能力与概念:三大构件是 AppIntent(可执行动作,含参数)、AppEntity(用户交互对象)、AppEnum(枚举参数)。AppIntent 需定义 title、description,可选 isDiscoverable、openAppWhenRun、authenticationPolicy,并用 @Parameter 声明必填/可选参数、requestValueDialog 与默认值;parameterSummary 控制 Siri 措辞。perform() 中校验参数、执行动作、可捐赠并返回 IntentResult 或对话框;错误类型可实现 CustomLocalizedStringResourceConvertible 提供本地化提示。AppEntity 需唯一持久 id、typeDisplayRepresentation、displayRepresentation 与 defaultQuery,可用 @Property 暴露供筛选排序的属性,EntityQuery/EntityStringQuery 提供按 ID、建议项与字符串搜索。建议实体与核心数据模型分离,单独建实体并转换,避免耦合。
鉴权与执行:authenticationPolicy 可选 alwaysAllowed、requiresAuthentication、requiresLocalDeviceAuthentication;openAppWhenRun 决定后台运行或前台继续,前台续接可返回 opensIntent。破坏性操作可在 perform() 中调用 requestConfirmation 请求确认。
Apple Intelligence:快捷指令的 Use Model 动作(iOS 18.1+)会把实体以 JSON 传给模型,输出可为文本、数字、布尔、字典、日期或 App 实体;文本参数建议用 AttributedString 保留富文本;支持 Follow Up 迭代细化;连接 If 等动作时会自动转换类型。IndexedEntity 可基于 Spotlight 集成自动生成 Find 动作,减少手写 EntityQuery/EntityPropertyQuery 的样板代码。
适用场景:接入 Siri 与 Apple Intelligence、快捷指令自动化、Spotlight 搜索、专注过滤、小组件与实时活动、操作按钮,以及调试 intent 解析或参数校验失败、用快捷指令测试 intent。
限制:资料未给出平台最低版本、签名或权限配置、性能与效果保证、收费或价格信息;示例代码为演示用途,实际接口与可用性以 Apple 官方文档为准。