asc-testflight

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

TestFlight Beta Tester Management with
asc

使用
asc
管理TestFlight测试版测试人员

Manage beta groups and testers for your TestFlight distribution.
管理TestFlight分发的测试版群组和测试人员。

Authentication

身份验证

Set up credentials before any TestFlight commands:
bash
asc auth login --key-id <id> --issuer-id <id> --private-key-path ~/.asc/AuthKey.p8
在执行任何TestFlight命令前设置凭据:
bash
asc auth login --key-id <id> --issuer-id <id> --private-key-path ~/.asc/AuthKey.p8

CAEOAS — Affordances Guide Next Steps

CAEOAS — 可用操作指南后续步骤

Every JSON response includes
"affordances"
with ready-to-run commands:
BetaGroup affordances:
json
{
  "id": "g-abc123",
  "appId": "6450406024",
  "name": "External Beta",
  "affordances": {
    "listTesters":   "asc testflight testers list   --group-id g-abc123",
    "importTesters": "asc testflight testers import --group-id g-abc123 --file testers.csv",
    "exportTesters": "asc testflight testers export --group-id g-abc123"
  }
}
BetaTester affordances:
json
{
  "id": "t-xyz789",
  "groupId": "g-abc123",
  "email": "jane@example.com",
  "affordances": {
    "listSiblings": "asc testflight testers list   --group-id g-abc123",
    "remove":       "asc testflight testers remove --group-id g-abc123 --tester-id t-xyz789"
  }
}
Copy affordance commands directly — no need to look up IDs.
每个JSON响应都包含
"affordances"
字段,其中包含可直接运行的命令:
BetaGroup可用操作:
json
{
  "id": "g-abc123",
  "appId": "6450406024",
  "name": "External Beta",
  "affordances": {
    "listTesters":   "asc testflight testers list   --group-id g-abc123",
    "importTesters": "asc testflight testers import --group-id g-abc123 --file testers.csv",
    "exportTesters": "asc testflight testers export --group-id g-abc123"
  }
}
BetaTester可用操作:
json
{
  "id": "t-xyz789",
  "groupId": "g-abc123",
  "email": "jane@example.com",
  "affordances": {
    "listSiblings": "asc testflight testers list   --group-id g-abc123",
    "remove":       "asc testflight testers remove --group-id g-abc123 --tester-id t-xyz789"
  }
}
可直接复制可用操作命令——无需手动查找ID。

Resolve App ID

解析应用ID

See project-context.md — check
.asc/project.json
before asking the user or running
asc apps list
.
查看project-context.md — 在询问用户或运行
asc apps list
前,请检查
.asc/project.json
文件。

Typical 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')

If empty: ask user or run
asc apps list | jq -r '.data[0].id'

如果为空:询问用户或运行
asc apps list | jq -r '.data[0].id'

1. Find beta groups for an app

1. 查找应用的测试版群组

asc testflight groups list --app-id "$APP_ID" --pretty
asc testflight groups list --app-id "$APP_ID" --pretty

2. List testers in a group (copy affordance "listTesters" from step 1)

2. 列出群组中的测试人员(从步骤1复制“listTesters”可用操作命令)

asc testflight testers list --group-id g-abc123 --pretty
asc testflight testers list --group-id g-abc123 --pretty

3. Add a single tester

3. 添加单个测试人员

asc testflight testers add
--group-id g-abc123
--email jane@example.com
--first-name Jane
--last-name Doe
asc testflight testers add
--group-id g-abc123
--email jane@example.com
--first-name Jane
--last-name Doe

4. Remove a tester (copy affordance "remove" from tester JSON)

4. 移除测试人员(从测试人员JSON中复制“remove”可用操作命令)

asc testflight testers remove --group-id g-abc123 --tester-id t-xyz789
asc testflight testers remove --group-id g-abc123 --tester-id t-xyz789

5. Bulk import from CSV (header row required: email,firstName,lastName)

5. 从CSV批量导入(需要表头行:email,firstName,lastName)

asc testflight testers import --group-id g-abc123 --file testers.csv
asc testflight testers import --group-id g-abc123 --file testers.csv

6. Export to CSV (pipe to file or use redirect)

6. 导出到CSV(通过管道输出到文件或使用重定向)

asc testflight testers export --group-id g-abc123 > testers.csv
asc testflight testers export --group-id g-abc123 > testers.csv

7. Clone a group's testers to a new group

7. 将一个群组的测试人员克隆到新群组

asc testflight testers export --group-id g-abc123 > testers.csv asc testflight testers import --group-id g-new456 --file testers.csv
undefined
asc testflight testers export --group-id g-abc123 > testers.csv asc testflight testers import --group-id g-new456 --file testers.csv
undefined

CSV Format

CSV格式

Import/export CSV — header row required,
firstName
and
lastName
are optional:
csv
email,firstName,lastName
jane@example.com,Jane,Doe
john@example.com,John,Smith
anon@example.com,,
导入/导出CSV需要表头行,
firstName
lastName
为可选:
csv
email,firstName,lastName
jane@example.com,Jane,Doe
john@example.com,John,Smith
anon@example.com,,

Output Flags

输出标志

bash
--pretty          # Pretty-print JSON
--output table    # Table format
--output markdown # Markdown table
bash
--pretty          # 格式化输出JSON
--output table    # 表格格式
--output markdown # Markdown表格

Full Command Reference

完整命令参考

See commands.md for all flags, filters, and examples.
查看commands.md获取所有标志、过滤器和示例。