name: asc-release-flow description: 使用asc publish、builds、versions和submit命令为TestFlight和App Store提供端到端的发布工作流。当需要上传构建、分发到TestFlight或提交到App Store时使用。
发布流程(TestFlight和App Store)
当需要将新构建放入TestFlight或提交到App Store时使用此技能。
先决条件
- 确保凭据已设置(使用
asc auth login或ASC_*环境变量)。 - 每次上传使用新的构建号。
- 优先使用
ASC_APP_ID或显式传递--app。 - 构建必须已解决加密合规性问题(参见asc-submission-health技能)。
iOS发布
首选的端到端命令
- TestFlight:
asc publish testflight --app <APP_ID> --ipa <PATH> --group <GROUP_ID>[,<GROUP_ID>]- 可选:
--wait、--notify、--platform、--poll-interval、--timeout
- App Store:
asc publish appstore --app <APP_ID> --ipa <PATH> --version <VERSION>- 可选:
--wait、--submit --confirm、--platform、--poll-interval、--timeout
手动序列(当需要更多控制时)
- 上传构建:
asc builds upload --app <APP_ID> --ipa <PATH>
- 如果需要,查找构建ID:
asc builds latest --app <APP_ID> [--version <VERSION>] [--platform <PLATFORM>]
- TestFlight分发:
asc builds add-groups --build <BUILD_ID> --group <GROUP_ID>[,<GROUP_ID>]
- App Store附加 + 提交:
asc versions attach-build --version-id <VERSION_ID> --build <BUILD_ID>asc submit create --app <APP_ID> --version <VERSION> --build <BUILD_ID> --confirm
- 检查或取消提交:
asc submit status --id <SUBMISSION_ID>或--version-id <VERSION_ID>asc submit cancel --id <SUBMISSION_ID> --confirm
macOS发布
macOS应用以.pkg文件分发,而非.ipa。
构建和导出
完整构建/归档/导出工作流参见asc-xcode-build技能。
上传PKG
使用asc上传导出的.pkg:
asc builds upload \
--app <APP_ID> \
--pkg <PATH_TO_PKG> \
--version <VERSION> \
--build-number <BUILD_NUMBER> \
--wait
注意事项:
--pkg自动设置平台为MAC_OS。asc publish appstore目前支持--ipa工作流;对于macOS.pkg,使用asc builds upload --pkg+ 以下附加/提交步骤。
附加和提交
与iOS相同,但使用--platform MAC_OS:
# 等待构建处理
asc builds list --app <APP_ID> --platform MAC_OS --limit 5
# 附加到版本
asc versions attach-build --version-id <VERSION_ID> --build <BUILD_ID>
# 创建提交
asc review submissions-create --app <APP_ID> --platform MAC_OS
# 添加版本项
asc review items-add \
--submission <SUBMISSION_ID> \
--item-type appStoreVersions \
--item-id <VERSION_ID>
# 提交
asc review submissions-submit --id <SUBMISSION_ID> --confirm
visionOS / tvOS发布
与iOS流程相同,使用适当的--platform:
VISION_OSTV_OS
多平台发布
当跨平台发布相同版本时:
- 分别上传每个平台的构建
- 为每个平台创建版本(如果不存在)
- 将构建附加到各自的版本
- 分别提交每个平台(或通过reviewSubmissions API一起提交)
提交前检查清单
提交前验证:
- [ ] 构建状态为
VALID(非处理中) - [ ] 加密合规性已解决
- [ ] 内容权利声明已设置
- [ ] 版权字段已填充
- [ ] 所有本地化已完成
- [ ] 截图已提供
详细预检检查参见asc-submission-health技能。
注意事项
- 始终使用
--help验证命令的确切标志。 - 使用
--output table/--output markdown获取人类可读输出;默认为JSON。 - macOS构建需要在Info.plist中设置
ITSAppUsesNonExemptEncryption以避免加密问题。