用途:在 iOS 上实现、审查和扩展 App Intents,把 App 功能接入 Siri、快捷指令(Shortcuts)、Spotlight、小组件、控制中心和 Apple Intelligence。
主要能力:按集成面选择协议——Siri/快捷指令用 AppIntent(iOS 16+),可配置小组件用 WidgetConfigurationIntent(iOS 17+),控制中心用 ControlConfigurationIntent(iOS 18+),Spotlight 用 IndexedEntity(iOS 18+),Apple Intelligence 用 @AppIntent(schema:)(iOS 18+),交互式片段用 SnippetIntent(iOS 26+),视觉智能用 IntentValueQuery(iOS 26+)。
核心用法:用 AppEntity 建影子模型(不要直接让核心数据模型遵循 AppEntity),用 @Property 暴露可筛选属性;用 AppEnum 定义固定选项(原始值须为 String);按需选 EntityQuery 四种变体(基础、EntityStringQuery、EnumerableEntityQuery、UniqueAppEntityQuery);用 @Parameter 声明输入,非可选参数需给默认值;实现 perform() async throws -> some IntentResult;用 AppShortcutsProvider 注册短语,短语必须包含 (.applicationName)。
适用场景:为 App 增加系统级入口、可配置小组件、控制中心开关、Spotlight 搜索与 Siri 语音操作。
限制与注意:perform() 必须异步、不可阻塞;entities(for:) 应省略缺失 ID;AppEnum 不能用 Int 原始值;避免使用已废弃的 @AssistantEntity/@AssistantEnum(@AssistantIntent(schema:) 仍有效);实体数据变化时调用 updateAppShortcutParameters() 刷新索引。具体收费、价格与平台支持范围资料未提供。