SuperAPI AI 工具集

capacitor-app-intents

通用与其它

查看项目

更新于 10-15 20:10

技能介绍

用途:为 Capacitor 应用的 iOS 工程添加原生 App Intents,使系统入口(Siri 短语、快捷指令、App Shortcuts、Spotlight、操作按钮、Apple Intelligence、小组件按钮、控制中心控件)可以执行应用内的操作。App Intents 只能用 Swift 编写,没有 JavaScript API,每个意图都是 App target 或扩展中的原生代码,再通过 URL 或小型本地插件与 Web 层通信。

主要能力与要点:意图类型、实体、查询、AppShortcutsProvider 需要 iOS 16;Capacitor 8 部署目标是 iOS 15,需用 @available(iOS 16.0, *) 门控,Capacitor 9 起基础 API 无需门控。后台意图没有 WebView,只能做原生工作,不能调用 JS 或桥接插件。perform() 不在主 actor 上且可能执行多次,接触 UIKit 或桥接前需显式跳转主 actor。冷启动时 JS 监听器尚不存在,需用 App.getLaunchUrl() 或待处理路由存储配合 retainUntilConsumed。意图类型名、AppEntity.id、AppEnum 原始值、URL 格式和已发布短语属于公开契约,不要重命名或删除。

使用方式:先只读检查 package.json、Info.plist、AppDelegate.swift、SceneDelegate.swift、部署目标与 entitlements,并搜索现有 AppIntent。与用户确认每个动作是否需要 UI、如何到达 JS、需要什么数据、在哪些 target 运行、覆盖哪些系统入口。随后在 ios/App/App/Intents/ 创建 Swift 文件并加入 App target,按版本门控 API,添加 Web 桥接与 AppShortcutsProvider(短语需含 (.applicationName)),按需添加 App Groups 或 Associated Domains,再在 JS 侧处理冷热启动路由。验证可用 npx cap sync ios 与 xcodebuild 构建,构建日志需无短语警告,并用 Xcode 的 App Shortcuts Preview 和各系统入口实测。

限制:不覆盖 Universal Links、SceneDelegate 迁移、推送通知动作、Live Activities、Android 快捷方式;App Shortcuts 每个应用最多 10 个,后台意图约 30 秒会被终止。资料未提供收费、价格与平台支持信息。