关于 app-clips
app-clips 是帮助开发者构建 iOS App Clip 的技能,涵盖目标配置、调用路由、能力与大小评估,以及数据交接。适用于实现专注于即时任务或演示的轻量体验。
主要功能
- 01配置 App Clip 独立目标及关联权限
- 02处理调用 URL 与体验路由
- 03评估大小限制和功能能力
- 04规划与完整应用的数据交接
- 05检查通知与位置流程
适用场景
- 01为即时任务创建 App Clip
- 02配置二维码、NFC 或 Safari 调用
- 03验证 App Clip 与完整应用的路由衔接
- 04评估功能范围及交接需求
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ dpearson2699/ swift-ios-skills --skill app-clips安装后在 Claude Code 中输入/app-clips确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
evals/evals.jsonreferences/data-handoff-notifications-location.mdrouting-and-experiences.mdsize-capabilities-and-promotion.md详细介绍
App Clips
为 iOS 应用构建轻量、即点即用的版本,满足专注于当下的体验或演示需求。
内容
App Clip 目标设置
App Clip 是与完整应用位于同一个 Xcode 项目中的独立目标:
- 文件 → 新建 → 目标 → App Clip — Xcode 会创建 App Clip 目标,在完整应用目标中添加 Embed App Clip 构建阶段,并配置关联权限。
- App Clip 的 Bundle ID 必须以完整应用的 Bundle ID 为前缀:
com.example.MyApp.Clip。 - 排查归档、签名或 App Store Connect 故障时,请检查原始权限键:
- App Clip 目标:
com.apple.developer.on-demand-install-capable - App Clip 目标的父应用链接:
com.apple.developer.parent-application-identifiers - 完整应用目标的关联 App Clip 链接:
com.apple.developer.associated-appclip-app-identifiers
- App Clip 目标:
使用 Swift 包或共享源文件,为两个目标提供所需代码。使用 APPCLIP 活跃编译条件添加 App Clip 专属的编译分支,并避免将仅供完整应用使用的框架链接到 App Clip 目标。
**验证检查点:**归档两个目标并检查其归档权限。如果签名或验证失败,请修正上述三个原始键与目标的对应关系,然后重新归档,直至两个目标均通过。
调用与体验路由
实现调用 URL 路由、App Store Connect 体验、本地体验、Safari 智能 App 横幅、二维码/NFC/App Clip 码、AASA 或关联域名时,请阅读 references/routing-and-experiences.md。
App Clip 会收到 NSUserActivityTypeBrowsingWeb 活动。请与完整应用共用调用路由器,因为应用安装后,完整应用会取代 App Clip 并接收后续调用。
- SwiftUI:使用
.onContinueUserActivity(NSUserActivityTypeBrowsingWeb)。 - UIKit 冷启动:检查
scene(_:willConnectTo:options:)中的connectionOptions.userActivities。 - UIKit 延续活动:在
scene(_:continue:)中处理实际的NSUserActivity。 scene(_:willContinueUserActivityWithType:)只是提前通知,不会提供 URL。
在 App Store Connect 中配置所需的默认 App Clip 体验。Maps 集成、位置关联、正式版 App Clip 码、按地点展示卡片和精确的实体地点路由需使用高级体验;演示用 App Clip 码可以使用简短的演示 App Clip 链接。
对于自定义 URL,请在完整应用和 App Clip 目标的关联域名中添加 appclips:example.com,并托管包含 App Clip 应用标识符的 AASA 文件。对于 Safari 横幅,请使用 app-id、app-clip-bundle-id 和可选的 app-clip-display=card;不要依赖 app-argument 来启动 App Clip。
**验证检查点:**使用 _XCAppClipURL 和本地体验测试每个 URL,修正路由/AASA/体验配置不匹配的问题,并重复测试,直至 App Clip 和已安装的完整应用都能进入相同目的地。
大小与功能决策
对于可行性评审、大小等级与测量、Background Assets、CloudKit、Live Activities、不支持的功能以及完整应用升级,请以 大小、功能与升级 作为权威清单。只要涉及其中任一主题,就应查阅该清单。
产品评审应聚焦边界层面:说明大小依据、调用与下载是否适用、功能限制以及交接目的地。只有用户要求实现时,才添加实现 API。
数据、通知和位置
实现 App Group / 完整应用迁移、钥匙串或 Sign in with Apple 交接、临时通知、通知重新启动路由或实体位置确认时,请阅读 references/data-handoff-notifications-location.md。
将 App Group 存储视为非机密交接状态,而不是信任边界。该参考文档规定了 iOS 15.4+ 单向钥匙串规则、Sign in with Apple 验证、临时通知权限和重新启动路由,以及实体位置确认——包括其所需的原始键和目标。
常见错误
超出适用的 App Clip 大小限制
使用大小限制选择并测量适用的限制。
将 App Clip 设计成纯营销内容或以网页视图为主
App Clip 应让用户无需安装应用即可完成一项专注的任务或体验完整演示。避免纯营销内容、广告过多的流程、启动屏幕、阻止启动的下载、反复提示安装,以及更适合做成网站的网页视图体验。
审查清单
在所有适用的检查项通过之前,不要发布;修复失败项并重新运行同一项检查。
- 目标 ID、全部三个原始权利键和共享代码边界均正确。
- SwiftUI/UIKit 冷启动和继续操作时均可正常调用,然后交接到完整应用。
- 关联域、AASA、App Store Connect 体验和本地调用测试均通过。
- 大小、功能、用户体验、Live Activity 和推广决策均通过 可行性审查。
- 数据、凭据、通知和位置流程均通过详细的 交接检查。
参考资料
- 路由和体验
- 数据交接、通知和位置
- 大小、功能和推广
- App Clip 框架
- 使用 Xcode 创建 App Clip
- 配置 App Clip 体验
- 响应调用
- 选择合适的功能
- 确认某人的实际位置
- 在 App Clip 和完整 App 之间共享数据
- 在 App Clip 中启用通知
- 支持从网站和“信息”App 调用
- 通过 App Clip 提供实时活动
- 向 App Clip 用户推荐你的 App
- APActivationPayload
- SKOverlay.AppClipConfiguration
- NSUserActivityTypeBrowsingWeb
- 创建 App Clip 码
- 分发 App Clip
- App Clips 人机界面指南