Expo App Clip 助手
为 Expo 应用配置可由网址唤起的 iOS App Clip。
文档说明 Apple Developer、EAS 计划、HTTPS AASA、凭据和关联域等外部依赖,并给出权限配置;但要求登录 Apple、配置凭据、部署网站和提交 TestFlight,未提供逐步确认、最小权限边界、回滚方案或敏感数据处理说明,因此扣分。
步骤和示例总体一致,覆盖创建 target、AASA、构建和提交;但仅有静态说明,没有针对关键路径的测试或执行证据,且对 CLI 版本、配置失败、Apple 账户权限和异常输入的诊断反馈不足,因此按静态上限保守扣分。
触发词、目标用户和 App Clip 场景清晰,涵盖 AASA、Smart App Banner 与 TestFlight;但仅面向 iOS、Expo Router、Bun/EAS 和 Apple 生态,未明确非适用范围、版本边界或中文环境支持,核心流程依赖 Apple/EAS 等服务,因此扣分。
文档按步骤组织,包含要求、示例、参考文件、许可证和仓库级 CI;但缺少该技能的版本、变更记录、明确维护责任、依赖版本和系统化故障排查,部分关键假设隐藏在命令和占位符中,因此扣分。
内容覆盖从 target 创建到 AASA、元标签、部署、TestFlight 和商店元数据的完整主流程,理论上可直接作为操作清单;但静态审查无法验证命令和配置在当前版本中可用,且仍需用户补齐账户、域名、ID、图像和项目细节,因此达到静态上限后扣分。
提供 Apple、Expo、EAS 和相关工具的来源链接,且仓库有技能限制与版本检查 CI;但没有该技能专属测试、成功构建记录或独立复现证据,关键技术断言主要依赖文档陈述,因此保守给分。
- 执行 bunx setup-safari、bunx testflight、eas deploy 和 eas metadata:push 可能创建或修改 Apple/EAS 资源;应在每一步确认目标账户、项目、Bundle ID、域名和发布环境,并预先准备回滚方案。
- AASA、关联域、Bundle ID、Team ID、iTunes ID 和 Smart App Banner 必须逐项替换占位值;文档没有提供失败时的验证矩阵或版本兼容表。
- 该流程依赖 Apple Developer、App Store Connect、EAS 和 HTTPS 域名;在中国大陆网络或无 Apple 账户、EAS 计划的环境中,核心流程可能不可达。
这个 Skill 能做什么,适合哪些场景?
这是 Expo Skills 集合中的一个开源开发技能,专门为 Expo 应用添加 iOS App Clip 目标。它指导配置父应用与 Clip 的 Bundle ID、关联域、AASA 文件和 Smart App Banner,并覆盖 EAS 构建、TestFlight 与 App Store 元数据流程。App Clip 位于 targets/clip/,可通过应用域名上的 URL 唤起。使用它需要 Apple Developer Program 会员资格、App Store 审核,以及通过 HTTPS 提供 AASA 文件。
指导用户设置 app.json 中的 bundleIdentifier、appleTeamId 和 associatedDomains;运行 bun create target clip 添加 App Clip 目标及其配置文件;运行 bunx setup-safari 注册 Bundle ID、创建 App Store Connect 条目并生成相关信息;创建并托管 .well-known/apple-app-site-association;修改 Expo Router HTML shell 以加入 Smart App Banner;通过 Expo 配置检查镜像权限;运行 bunx testflight 构建、上传并安排 TestFlight 提交;使用 eas metadata:pull 和 eas metadata:push 配置 App Clip 商店元数据;可选地创建本地 Expo 模块检测 App Clip 环境。
- Expo 开发者希望从网站 URL 唤起一个轻量级 iOS App Clip,并与完整应用一起发布。
- 团队需要为父应用和 Clip 配置 applinks、appclips 关联域及 AASA 文件。
- 需要使用 EAS Build、TestFlight 和 App Store Connect 元数据完成 App Clip 发布流程的项目。
- 开发者希望在 App Clip 中镜像父应用权限,或请求临时通知和位置确认权限。
这个 Skill 有哪些优点和局限?
- 覆盖从创建 Clip 目标、关联域和 AASA 到 TestFlight 与商店元数据的完整流程。
- 提供具体的 Expo 配置、Swift、Info.plist、HTML 和 JSON 示例。
- 明确 Apple Developer 会员、App Store 审核、HTTPS 托管和 EAS 构建分钟数等前置条件。
- 支持可选的原生检测模块,用于在 Clip 中提示安装完整应用。
- 仅面向 iOS App Clip,不覆盖 Android 或一般 Expo 功能。
- 发布需要 Apple Developer Program 会员资格和 App Store 审核。
- AASA 文件必须在域名上通过 HTTPS 可访问,EAS 构建和 bunx testflight 可能消耗计划中的构建分钟数。
- 源材料未描述自动化测试套件或已验证的平台兼容矩阵。
如何安装这个 Skill?
这是 expo/skills 仓库中的 plugins/expo/skills/expo-app-clip/SKILL.md。按照 README,可使用 npx skills@latest add expo/skills --skill '*' 安装整个 Expo Skills 集合;也可使用 codex plugin add expo@openai-curated 安装 Codex 插件。源材料没有提供仅安装 expo-app-clip 的独立命令。
如何使用这个 Skill?
在已安装该技能的 Expo 项目中,向代理提出例如“为这个 Expo 应用添加一个由网址唤起的 iOS App Clip,并配置 AASA 和 Smart App Banner”。根据项目情况,代理会指导执行 bun create target clip、bunx setup-safari、bunx expo customize src/app/+html.tsx、bunx expo export -p web、eas deploy --prod、bunx testflight、eas metadata:pull 和 eas metadata:push 等命令。
这个 Skill 与同类方案有什么区别?
README 将 Expo 文档、Expo CLI 和 EAS CLI 视为事实来源;该技能用于帮助代理应用这些指导,并不取代官方文档或 CLI。