ASC Release Flow

🚀 一键发布至 TestFlight 与 App Store

一站式 iOS 应用发布工作流,支持 TestFlight 分发与 App Store 提审,通过 CLI 实现构建上传、版本管理与自动提交。

收藏
10.2k
安装
2.5k
版本
1.0.0
CLS 安全扫描中
预计需要 3 分钟...

使用说明

核心用法

asc-release-flow 提供从构建上传到最终上架的完整发布流水线,基于 asc CLI 工具封装了苹果 App Store Connect API 的复杂操作。

主要场景:

  • TestFlight 快速分发asc publish testflight --app <APP_ID> --ipa <PATH> --group <GROUP_ID> 单命令完成上传并自动分发给指定测试组
  • App Store 正式提审asc publish appstore --app <APP_ID> --ipa <PATH> --version <VERSION> 支持附加 --submit --confirm 自动提交审核

细粒度控制:当需要分步操作时,提供完整的手动序列——先 asc builds upload 上传构建,通过 asc builds latest 获取构建 ID,再按需执行 add-groups 分发或 attach-build + submit create 完成上架流程。

显著优点

1. 端到端自动化:将传统需要 Xcode Organizer + App Store Connect 网页的多步操作压缩为单条命令,CI/CD 集成友好
2. 灵活的分发策略:支持同时指定多个测试组 (GROUP1,GROUP2),可选 --notify 自动通知测试员

3. 状态可观测--wait 参数支持轮询等待处理完成,--output table/markdown 提供人类可读的进度反馈

4. 幂等性设计:要求每次上传使用新构建号,避免版本冲突

潜在局限

1. 认证依赖前置:必须预配置 asc auth loginASC_* 环境变量,首次使用门槛较高
2. 平台限定:仅支持苹果生态(iOS/macOS/tvOS/watchOS),无法跨平台复用

3. 审核黑箱submit 后仍受苹果审核队列和人工审核政策影响,无法保证上架时效

4. 版本管理复杂attach-build 需要手动关联 version-idbuild,对 App Store Connect 数据模型不熟悉易出错

适合人群

  • iOS CI/CD 工程师:需要自动化构建-上传-分发流水线
  • 移动开发团队:频繁进行 TestFlight 内测或灰度发布
  • DevOps 工程师:将应用发布集成到 GitHub Actions / GitLab CI / Jenkins 等企业工作流

常规风险

  • 构建号冲突:若未递增 CFBundleVersion,上传将失败或覆盖(如启用替换)
  • 权限泄露ASC_API_KEY 等凭证需妥善保管,避免硬编码在仓库
  • 审核拒回:自动提交后若元数据不合规(截图、描述、权限说明),可能导致账号警告或封禁
  • 网络超时:大体积 IPA 上传可能触发 --timeout,需配合 --poll-interval 合理调整重试策略

安全解读

核心用法

本 Skill 为 asc(App Store Connect)命令行工具提供端到端的发布工作流指导,覆盖两种核心场景:TestFlight 内测分发App Store 正式提审

TestFlight 快速发布asc publish testflight --app <APP_ID> --ipa <PATH> --group <GROUP_ID> 单命令完成构建上传与测试组分发,支持 --wait 轮询处理状态、--notify 自动通知测试人员。

App Store 正式提交asc publish appstore --app <APP_ID> --ipa <PATH> --version <VERSION> 完成构建上传与版本关联,追加 --submit --confirm 可直接触发审核提交流程。

精细控制模式:当需要分步操作时,提供 5 阶段手动序列——上传构建 (builds upload)、查询构建 ID (builds latest)、添加测试组 (add-groups)、绑定版本 (attach-build)、创建提交 (submit create),并支持状态查询与取消操作。

显著优点

1. 流程标准化:将分散的 asc 子命令整合为端到端工作流,避免开发者遗漏关键步骤(如忘记绑定版本即提交)。

2. 双模式灵活:既支持一键式自动发布满足 CI/CD 场景,也保留手动分步控制应对复杂审批流程。

3. 参数完备:涵盖 --platform 多平台指定、--poll-interval/--timeout 轮询策略、--output 格式切换等生产级需求。

4. 零学习成本:直接复用现有 asc CLI 生态,无需额外工具链投入。

潜在缺点与局限性

  • 纯文档型 Skill:本身无可执行代码,实际运行依赖本地 asc CLI 工具的安装与配置,不会自动处理工具缺失场景。
  • 凭证管理外置:需用户自行确保 ASC_* 环境变量或 asc auth login 前置完成,Skill 不提供凭证安全存储指导。
  • 平台锁定:仅适用于 Apple 生态(iOS/macOS/tvOS/watchOS),无法迁移至 Android 或其他平台。
  • 人工审查缺口:App Store 审核存在不确定性,Skill 无法预判被拒风险或自动处理审核反馈。

适合的目标群体

  • iOS 独立开发者:希望简化 TestFlight 分发流程的个人开发者。
  • 移动端 CI/CD 工程师:需要在流水线中集成 App Store Connect 自动发布的 DevOps 人员。
  • 中小型移动团队:缺乏专职发布运维,依赖文档化流程降低操作失误率。

使用风险

1. 生产环境误操作风险--submit --confirm--confirm 标志直接触发真实商店提审,误操作可能导致非预期版本上线。建议在 CI 环境中配置分支保护,禁止主干分支直接触发提交。

2. 凭证泄露风险ASC_API_KEY 等环境变量若配置在共享日志或代码仓库中,可能导致 Apple ID 权限被盗用。建议配合密钥管理服务(如 GitHub Secrets、1Password CLI)使用。

3. 轮询资源消耗--wait 模式下默认轮询间隔可能过频,大规模构建队列场景下建议显式设置 --poll-interval 避免 API 限流。

4. 版本冲突风险:未使用新构建号重复上传会导致 Apple 服务端拒绝,流水线需确保版本号自增逻辑可靠。

5. 平台依赖稳定性asc CLI 本身由社区维护(非 Apple 官方),工具更新可能导致命令参数变更,需关注版本锁定。

ASC Release Flow 内容

手动下载zip · 2.0 kB
skill-card.mdtext/markdown
请选择文件