asc-release-flow
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseRelease flow (TestFlight and App Store)
发布流程(TestFlight与App Store)
Use this skill when you need to get a new build into TestFlight or submit to the App Store.
当你需要将新版本构建上传至TestFlight或提交至App Store时,可使用本技能。
Preconditions
前置条件
- Ensure credentials are set (or
asc auth loginenv vars).ASC_* - Use a new build number for each upload.
- Prefer or pass
ASC_APP_IDexplicitly.--app - Build must have encryption compliance resolved (see asc-submission-health skill).
- 确保已设置凭据(或
asc auth login环境变量)。ASC_* - 每次上传使用新的构建版本号。
- 优先使用或显式传递
ASC_APP_ID参数。--app - 构建版本必须已解决加密合规性问题(请参考asc-submission-health技能)。
iOS Release
iOS应用发布
Preferred end-to-end commands
推荐的端到端命令
- TestFlight:
asc publish testflight --app <APP_ID> --ipa <PATH> --group <GROUP_ID>[,<GROUP_ID>]- Optional: ,
--wait,--notify,--platform,--poll-interval--timeout
- App Store:
asc publish appstore --app <APP_ID> --ipa <PATH> --version <VERSION>- Optional: ,
--wait,--submit --confirm,--platform,--poll-interval--timeout
- 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
Manual sequence (when you need more control)
手动流程(需要更多控制权时)
- Upload the build:
asc builds upload --app <APP_ID> --ipa <PATH>
- Find the build ID if needed:
asc builds latest --app <APP_ID> [--version <VERSION>] [--platform <PLATFORM>]
- TestFlight distribution:
asc builds add-groups --build <BUILD_ID> --group <GROUP_ID>[,<GROUP_ID>]
- App Store attach + submit:
asc versions attach-build --version-id <VERSION_ID> --build <BUILD_ID>asc submit create --app <APP_ID> --version <VERSION> --build <BUILD_ID> --confirm
- Check or cancel submission:
- or
asc submit status --id <SUBMISSION_ID>--version-id <VERSION_ID> asc submit cancel --id <SUBMISSION_ID> --confirm
- 上传构建版本:
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 Release
macOS应用发布
macOS apps are distributed as files, not .
.pkg.ipamacOS应用以文件格式分发,而非。
.pkg.ipaBuild and Export
构建与导出
See skill for full build/archive/export workflow.
asc-xcode-build完整的构建/归档/导出工作流请参考技能。
asc-xcode-buildUpload PKG
上传PKG文件
Use (asc doesn't yet support .pkg uploads directly):
xcrun altoolbash
undefined使用(asc目前不直接支持.pkg文件上传):
xcrun altoolbash
undefinedEnsure API key is in ~/.appstoreconnect/private_keys/
确保API密钥已存放在~/.appstoreconnect/private_keys/
xcrun altool --upload-app
-f "/path/to/YourApp.pkg"
--type macos
--apiKey "$ASC_KEY_ID"
--apiIssuer "$ASC_ISSUER_ID"
-f "/path/to/YourApp.pkg"
--type macos
--apiKey "$ASC_KEY_ID"
--apiIssuer "$ASC_ISSUER_ID"
undefinedxcrun altool --upload-app
-f "/path/to/YourApp.pkg"
--type macos
--apiKey "$ASC_KEY_ID"
--apiIssuer "$ASC_ISSUER_ID"
-f "/path/to/YourApp.pkg"
--type macos
--apiKey "$ASC_KEY_ID"
--apiIssuer "$ASC_ISSUER_ID"
undefinedAttach and Submit
关联并提交
Same as iOS, but use :
--platform MAC_OSbash
undefined与iOS流程一致,但需使用参数:
--platform MAC_OSbash
undefinedWait for build to process
等待构建版本处理完成
asc builds list --app <APP_ID> --platform MAC_OS --limit 5
asc builds list --app <APP_ID> --platform MAC_OS --limit 5
Attach to version
关联至版本
asc versions attach-build --version-id <VERSION_ID> --build <BUILD_ID>
asc versions attach-build --version-id <VERSION_ID> --build <BUILD_ID>
Create submission
创建提交任务
asc review submissions-create --app <APP_ID> --platform MAC_OS
asc review submissions-create --app <APP_ID> --platform MAC_OS
Add version item
添加版本条目
asc review items-add
--submission <SUBMISSION_ID>
--item-type appStoreVersions
--item-id <VERSION_ID>
--submission <SUBMISSION_ID>
--item-type appStoreVersions
--item-id <VERSION_ID>
asc review items-add
--submission <SUBMISSION_ID>
--item-type appStoreVersions
--item-id <VERSION_ID>
--submission <SUBMISSION_ID>
--item-type appStoreVersions
--item-id <VERSION_ID>
Submit
提交
asc review submissions-submit --id <SUBMISSION_ID> --confirm
undefinedasc review submissions-submit --id <SUBMISSION_ID> --confirm
undefinedvisionOS / tvOS Release
visionOS / tvOS应用发布
Same as iOS flow, use appropriate :
--platformVISION_OSTV_OS
与iOS流程一致,使用对应的参数:
--platformVISION_OSTV_OS
Multi-Platform Release
多平台发布
When releasing the same version across platforms:
- Upload each platform's build separately
- Create version for each platform if not exists
- Attach builds to respective versions
- Submit each platform separately (or together via reviewSubmissions API)
当同一版本需跨平台发布时:
- 分别上传各平台的构建版本
- 若版本不存在,为每个平台创建版本
- 将构建版本关联至对应平台的版本
- 分别提交各平台(或通过reviewSubmissions API批量提交)
Pre-submission Checklist
提交前检查清单
Before submitting, verify:
- Build status is (not processing)
VALID - Encryption compliance resolved
- Content rights declaration set
- Copyright field populated
- All localizations complete
- Screenshots present
See skill for detailed preflight checks.
asc-submission-health提交前请验证以下内容:
- 构建版本状态为(未处于处理中)
VALID - 加密合规性问题已解决
- 内容权利声明已设置
- 版权字段已填写
- 所有本地化内容已完成
- 截图已上传
详细的预检检查请参考技能。
asc-submission-healthNotes
注意事项
- Always use to verify flags for the exact command.
--help - Use /
--output tablefor human-readable output; default is JSON.--output markdown - macOS builds require in Info.plist to avoid encryption issues.
ITSAppUsesNonExemptEncryption
- 始终使用参数查看命令的具体可用选项。
--help - 使用/
--output table参数获取人类可读的输出格式;默认输出为JSON格式。--output markdown - macOS构建版本需在Info.plist中添加字段以避免加密相关问题。
ITSAppUsesNonExemptEncryption