关于 ios-app-intents
一项指导 iOS 开发者设计精简 App Intents 层的技能,帮助将常用操作和实体接入系统入口,并保持清晰的应用内路由。
主要功能
- 01筛选高价值操作
- 02定义精简实体范围
- 03选择内联或打开应用的行为
- 04通过 App Shortcuts 暴露意图
- 05验证应用路由与调用
适用场景
- 01接入系统操作而不映射所有页面
- 02将意图路由到特定应用工作流
- 03让关键操作可在 Shortcuts 和 Siri 中发现
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ openai/ plugins --skill ios-app-intents安装后在 Claude Code 中输入/ios-app-intents确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
agents/openai.yamlreferences/code-templates.mdexample-patterns.mdfirst-pass-checklist.mdsystem-surfaces.md详细介绍
iOS App Intents
概述
向系统开放最精简且实用的操作和实体接口。先从用户在 App 之外真正需要的动词和对象入手,然后实现精简的 App Intents 层,在需要时能够顺畅地深度链接或切换到主 App。
按需阅读以下参考资料:
references/first-pass-checklist.md,了解如何选择首批意图和实体接口references/example-patterns.md,了解可供复制和调整的具体示例references/code-templates.md,了解通用的 App Intents 代码模板references/system-surfaces.md,了解如何看待 Shortcuts、Siri、Spotlight、小组件和其他系统入口
核心工作流
1) 从操作入手,而非界面
- 确定 1-3 个最有价值且应能在 App UI 之外使用的操作。
- 优先选择撰写、打开、查找、筛选、继续、检查或开始等动词。
- 不要将整个 App 导航树都照搬成意图。
2) 定义精简的实体接口
- 仅为系统需要理解或用于路由的对象添加
AppEntity类型。 - 实体结构应比 App 的持久化模型更精简。
- 仅在确实有助于消除歧义或提供建议时,才添加
EntityQuery或其他查询类型。
3) 决定操作是在当前界面完成,还是打开 App
- 对于可直接从系统界面完成的操作,使用不打开 App 的意图。
- 如果用户需要进入 App 内的特定工作流,则使用
openAppWhenRun或打开类意图。 - 如果 App 必须在主场景内响应,则添加一条清晰的运行时切换路径,而不是散落各处的临时路由逻辑。
- 如果操作在两种模式下都能运行,可考虑同时提供内联版本和打开 App 版本,而不是勉强折中为一种模式。
4) 让操作易于发现
- 为首批高价值意图添加
AppShortcutsProvider条目。 - 选择适用于 Shortcuts、Siri 和 Spotlight 的标题、短语和符号。
- 快捷指令短语应直白且以任务为导向。
- 如果小组件配置或由意图驱动的控件已经需要相同参数,则为小组件和控件复用同一操作模型。
5) 验证运行时切换
- 构建 App,并确认意图目标能够顺利编译。
- 验证意图运行时 App 能否打开或跳转到预期位置。
- 总结当前开放了哪些操作、由哪些实体支持,以及 App 如何处理调用。
推荐默认做法
- 系统接口层优先使用专用的意图目标或模块。
- 保持意图类型精简;业务逻辑应留在 App 服务或领域模型中。
- 保持 App 实体精简且适合展示。
- 在考虑使用完整实体类型之前,优先使用
AppEnum表示标签页、模式或可见性级别等固定的 App 选项。 - 在 App 主场景或根路由器中优先采用单一且可预测的 App 意图路由接口。
- 将 App Intents 视为系统集成基础设施,而不只是 Shortcuts 功能。
反模式
- 将每个界面或标签页都作为独立意图开放,却没有真正的用户价值。
- 将整个模型图照搬为
AppEntity类型。 - 将运行时切换隐藏在全局副作用中,却没有清晰的 App 入口路径。
- 添加短语含糊或标题笼统的 App Shortcuts。
- 将首次实现 App Intents 当作大范围分类项目,而不是小而实用的版本发布。
备注
- 请将以下 Apple 文档作为主要参考资料:
https://developer.apple.com/documentation/appintents/making-actions-and-content-discoverable-and-widely-availablehttps://developer.apple.com/documentation/appintents/creating-your-first-app-intenthttps://developer.apple.com/documentation/appintents/adopting-app-intents-to-support-system-experiences
- 除了上述链接,如果 App Intents API 或平台行为可能已发生变化,请通过网页搜索查阅最新的 Apple Developer 文档。
- 良好的初步实现通常包括一个打开应用的意图、一个操作意图、一到两个实体类型,以及一个小型的
AppShortcutsProvider。 - 值得覆盖的示例类别包括:
- 在应用中打开某个目的地或编辑器
- 无需打开应用即可内联执行轻量操作
- 从固定枚举中选择,例如标签页或模式
- 通过
EntityQuery查询一个或多个实体 - 使用同一实体界面为小组件配置或控制提供支持
评论
支持 Markdown