核心用法
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 login 或 ASC_* 环境变量,首次使用门槛较高
2. 平台限定:仅支持苹果生态(iOS/macOS/tvOS/watchOS),无法跨平台复用
3. 审核黑箱:submit 后仍受苹果审核队列和人工审核政策影响,无法保证上架时效
4. 版本管理复杂:attach-build 需要手动关联 version-id 与 build,对 App Store Connect 数据模型不熟悉易出错
适合人群
- iOS CI/CD 工程师:需要自动化构建-上传-分发流水线
- 移动开发团队:频繁进行 TestFlight 内测或灰度发布
- DevOps 工程师:将应用发布集成到 GitHub Actions / GitLab CI / Jenkins 等企业工作流
常规风险
- 构建号冲突:若未递增
CFBundleVersion,上传将失败或覆盖(如启用替换) - 权限泄露:
ASC_API_KEY等凭证需妥善保管,避免硬编码在仓库 - 审核拒回:自动提交后若元数据不合规(截图、描述、权限说明),可能导致账号警告或封禁
- 网络超时:大体积 IPA 上传可能触发
--timeout,需配合--poll-interval合理调整重试策略