asc-beta-review
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseBeta App Review with asc
asc使用asc
管理Beta应用审核
ascSubmit builds for TestFlight external testing review and manage beta review contact details. Apple requires beta app review before distributing builds to external testers via TestFlight.
提交构建版本用于TestFlight外部测试审核,并管理Beta审核联系详情。苹果要求通过TestFlight向外部测试人员分发构建版本前,必须先完成Beta应用审核。
Authentication
身份验证
Set up credentials before any beta review commands:
bash
asc auth login --key-id <id> --issuer-id <id> --private-key-path ~/.asc/AuthKey.p8在执行任何Beta审核命令前,请先配置凭证:
bash
asc auth login --key-id <id> --issuer-id <id> --private-key-path ~/.asc/AuthKey.p8CAEOAS — Affordances Guide Next Steps
CAEOAS — 可用操作指南后续步骤
Every JSON response includes with ready-to-run commands:
"affordances"BetaAppReviewSubmission affordances:
json
{
"id": "sub-abc123",
"buildId": "build-42",
"state": "WAITING_FOR_REVIEW",
"affordances": {
"getSubmission": "asc beta-review submissions get --submission-id sub-abc123",
"listSubmissions": "asc beta-review submissions list --build-id build-42"
}
}BetaAppReviewDetail affordances:
json
{
"id": "d-xyz789",
"appId": "app-1",
"contactFirstName": "John",
"contactEmail": "john@example.com",
"demoAccountRequired": false,
"affordances": {
"getDetail": "asc beta-review detail get --app-id app-1",
"updateDetail": "asc beta-review detail update --detail-id d-xyz789"
}
}Nil optional fields (, , , , , , ) are omitted from JSON output.
contactFirstNamecontactLastNamecontactPhonecontactEmaildemoAccountNamedemoAccountPasswordnotes每个JSON响应都包含字段,提供可直接运行的命令:
"affordances"BetaAppReviewSubmission可用操作:
json
{
"id": "sub-abc123",
"buildId": "build-42",
"state": "WAITING_FOR_REVIEW",
"affordances": {
"getSubmission": "asc beta-review submissions get --submission-id sub-abc123",
"listSubmissions": "asc beta-review submissions list --build-id build-42"
}
}BetaAppReviewDetail可用操作:
json
{
"id": "d-xyz789",
"appId": "app-1",
"contactFirstName": "John",
"contactEmail": "john@example.com",
"demoAccountRequired": false,
"affordances": {
"getDetail": "asc beta-review detail get --app-id app-1",
"updateDetail": "asc beta-review detail update --detail-id d-xyz789"
}
}可选字段(、、、、、、)若为Nil,则不会出现在JSON输出中。
contactFirstNamecontactLastNamecontactPhonecontactEmaildemoAccountNamedemoAccountPasswordnotesCommands
命令
submissions list — list beta review submissions for a build
submissions list — 列出某构建版本的Beta审核提交记录
bash
asc beta-review submissions list --build-id <BUILD_ID> [--pretty]bash
asc beta-review submissions list --build-id <BUILD_ID> [--pretty]submissions create — submit a build for beta review
submissions create — 提交构建版本用于Beta审核
bash
asc beta-review submissions create --build-id <BUILD_ID> [--pretty]Creates a new beta app review submission. The build enters state.
WAITING_FOR_REVIEWbash
asc beta-review submissions create --build-id <BUILD_ID> [--pretty]创建一条新的Beta应用审核提交记录,该构建版本将进入状态。
WAITING_FOR_REVIEWsubmissions get — get a specific submission
submissions get — 获取特定提交记录
bash
asc beta-review submissions get --submission-id <SUBMISSION_ID> [--pretty]bash
asc beta-review submissions get --submission-id <SUBMISSION_ID> [--pretty]detail get — get beta review contact details for an app
detail get — 获取某应用的Beta审核联系详情
bash
asc beta-review detail get --app-id <APP_ID> [--pretty]Returns the beta app review detail record (contact info and demo account) for the app. Each app has one beta review detail record.
bash
asc beta-review detail get --app-id <APP_ID> [--pretty]返回该应用的Beta应用审核详情记录(联系信息及演示账户)。每个应用对应一条Beta审核详情记录。
detail update — update beta review contact details
detail update — 更新Beta审核联系详情
bash
asc beta-review detail update --detail-id <DETAIL_ID> \
[--contact-first-name <name>] \
[--contact-last-name <name>] \
[--contact-phone <phone>] \
[--contact-email <email>] \
[--demo-account-name <username>] \
[--demo-account-password <password>] \
[--demo-account-required] \
[--notes <text>]Only supplied flags are sent — unspecified fields are left unchanged.
bash
asc beta-review detail update --detail-id <DETAIL_ID> \
[--contact-first-name <name>] \
[--contact-last-name <name>] \
[--contact-phone <phone>] \
[--contact-email <email>] \
[--demo-account-name <username>] \
[--demo-account-password <password>] \
[--demo-account-required] \
[--notes <text>]仅会发送已指定的参数——未指定的字段将保持不变。
BetaReviewState
BetaReviewState
| State | Description |
|---|---|
| Submitted, waiting for Apple review |
| Currently being reviewed |
| Approved for external testing |
| Rejected — fix issues and resubmit |
Semantic booleans: , , , .
isPendingisInReviewisApprovedisRejected| 状态 | 描述 |
|---|---|
| 已提交,等待苹果审核 |
| 正在审核中 |
| 已通过审核,可用于外部测试 |
| 已被驳回——修复问题后重新提交 |
语义布尔值:、、、。
isPendingisInReviewisApprovedisRejectedTypical Workflow
典型工作流
bash
APP_ID=$(cat .asc/project.json 2>/dev/null | jq -r '.appId // empty')bash
APP_ID=$(cat .asc/project.json 2>/dev/null | jq -r '.appId // empty')1. Upload a build
1. 上传构建版本
asc builds upload --file MyApp.ipa
asc builds upload --file MyApp.ipa
2. Add the build to an external beta group
2. 将构建版本添加至外部Beta测试组
BUILD_ID=$(asc builds list --app-id "$APP_ID" | jq -r '.data[0].id')
GROUP_ID=$(asc testflight groups list --app-id "$APP_ID" | jq -r '.data[] | select(.isInternalGroup == false) | .id' | head -1)
asc builds add-beta-group --build-id "$BUILD_ID" --beta-group-id "$GROUP_ID"
BUILD_ID=$(asc builds list --app-id "$APP_ID" | jq -r '.data[0].id')
GROUP_ID=$(asc testflight groups list --app-id "$APP_ID" | jq -r '.data[] | select(.isInternalGroup == false) | .id' | head -1)
asc builds add-beta-group --build-id "$BUILD_ID" --beta-group-id "$GROUP_ID"
3. Set up beta review contact details (first time)
3. 配置Beta审核联系详情(首次操作)
asc beta-review detail get --app-id "$APP_ID" --pretty
DETAIL_ID=$(asc beta-review detail get --app-id "$APP_ID" | jq -r '.data[0].id')
asc beta-review detail update --detail-id "$DETAIL_ID"
--contact-first-name "John"
--contact-last-name "Doe"
--contact-email "john@example.com"
--contact-phone "+1-555-0100"
--contact-first-name "John"
--contact-last-name "Doe"
--contact-email "john@example.com"
--contact-phone "+1-555-0100"
asc beta-review detail get --app-id "$APP_ID" --pretty
DETAIL_ID=$(asc beta-review detail get --app-id "$APP_ID" | jq -r '.data[0].id')
asc beta-review detail update --detail-id "$DETAIL_ID"
--contact-first-name "John"
--contact-last-name "Doe"
--contact-email "john@example.com"
--contact-phone "+1-555-0100"
--contact-first-name "John"
--contact-last-name "Doe"
--contact-email "john@example.com"
--contact-phone "+1-555-0100"
4. Submit the build for beta app review
4. 提交构建版本用于Beta应用审核
asc beta-review submissions create --build-id "$BUILD_ID" --pretty
asc beta-review submissions create --build-id "$BUILD_ID" --pretty
5. Check submission status
5. 检查提交状态
asc beta-review submissions list --build-id "$BUILD_ID" --pretty
undefinedasc beta-review submissions list --build-id "$BUILD_ID" --pretty
undefinedKey Computed Properties (BetaAppReviewDetail)
关键计算属性(BetaAppReviewDetail)
| Property | Logic |
|---|---|
| |
| |
| 属性 | 逻辑 |
|---|---|
| |
| `!demoAccountRequired |
Resolve App ID
解析App ID
See project-context.md — check before asking the user or running .
.asc/project.jsonasc apps list请查看project-context.md — 在询问用户或运行前,先检查文件。
asc apps list.asc/project.jsonOutput Flags
输出标志
bash
--pretty # Pretty-print JSON
--output table # Table format
--output markdown # Markdown tablebash
--pretty # 格式化输出JSON
--output table # 表格格式
--output markdown # Markdown表格格式