asc-app-infos
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseasc App Info & Localizations
asc 应用信息与多语言本地化
Manage app-level metadata (name, subtitle, privacy policy URLs, categories) via the CLI.
ascNote: This is distinct from version-level metadata () which handles "What's New", description, and keywords. App info localizations hold the persistent app name and subtitle.asc version-localizations
通过 CLI管理应用级元数据(名称、副标题、隐私政策URL、分类)。
asc注意:这与版本级元数据()不同,后者负责管理“更新说明”、描述和关键词。应用信息多语言本地化存储的是持久化的应用名称和副标题。asc version-localizations
List App Infos
列出应用信息
Each app has one AppInfo record (rarely more). Get the AppInfo ID needed for subsequent commands.
bash
asc app-infos list --app-id <APP_ID> [--pretty]JSON output:
json
{
"data": [
{
"id": "info-abc123",
"appId": "6746148194",
"affordances": {
"getAgeRating": "asc age-rating get --app-info-id info-abc123",
"listAppInfos": "asc app-infos list --app-id 6746148194",
"listLocalizations": "asc app-info-localizations list --app-info-id info-abc123",
"updateCategories": "asc app-infos update --app-info-id info-abc123"
}
}
]
}每个应用对应一条AppInfo记录(极少出现多条)。获取后续命令所需的AppInfo ID。
bash
asc app-infos list --app-id <APP_ID> [--pretty]JSON输出:
json
{
"data": [
{
"id": "info-abc123",
"appId": "6746148194",
"affordances": {
"getAgeRating": "asc age-rating get --app-info-id info-abc123",
"listAppInfos": "asc app-infos list --app-id 6746148194",
"listLocalizations": "asc app-info-localizations list --app-info-id info-abc123",
"updateCategories": "asc app-infos update --app-info-id info-abc123"
}
}
]
}Update App Info (Categories)
更新应用信息(分类)
Set primary and/or secondary category. All flags are optional (PATCH semantics).
bash
asc app-infos update --app-info-id <APP_INFO_ID> \
[--primary-category GAMES] \
[--primary-subcategory-one GAMES_ACTION] \
[--secondary-category UTILITIES]设置主分类和/或子分类。所有参数为可选(采用PATCH语义)。
bash
asc app-infos update --app-info-id <APP_INFO_ID> \
[--primary-category GAMES] \
[--primary-subcategory-one GAMES_ACTION] \
[--secondary-category UTILITIES]List App Categories
列出应用分类
Browse all App Store category IDs (required for ).
app-infos updatebash
asc app-categories list [--platform IOS|MAC_OS|TV_OS] [--output table]Sample IDs: , , , , , , , , , , , , , ,
GAMESGAMES_ACTIONGAMES_PUZZLEGAMES_ADVENTUREBUSINESSUTILITIESEDUCATIONHEALTH_AND_FITNESSENTERTAINMENTSOCIAL_NETWORKINGPRODUCTIVITYFINANCEMUSICTRAVELSPORTSSubcategories follow the pattern (e.g. is under ). The API does not return a field.
PARENT_SUBTYPEGAMES_ACTIONGAMESparentId浏览所有App Store分类ID(命令所需)。
app-infos updatebash
asc app-categories list [--platform IOS|MAC_OS|TV_OS] [--output table]示例ID: , , , , , , , , , , , , , ,
GAMESGAMES_ACTIONGAMES_PUZZLEGAMES_ADVENTUREBUSINESSUTILITIESEDUCATIONHEALTH_AND_FITNESSENTERTAINMENTSOCIAL_NETWORKINGPRODUCTIVITYFINANCEMUSICTRAVELSPORTS子分类遵循命名规则(例如属于分类)。API不会返回字段。
PARENT_SUBTYPEGAMES_ACTIONGAMESparentIdList Localizations
列出多语言本地化信息
bash
asc app-info-localizations list --app-info-id <APP_INFO_ID> [--output table]Table output:
ID Locale Name Subtitle
-------- -------- -------------- --------------------
loc-001 en-US My App Do things faster
loc-002 zh-Hans 我的应用 更快地完成任务bash
asc app-info-localizations list --app-info-id <APP_INFO_ID> [--output table]表格输出:
ID Locale Name Subtitle
-------- -------- -------------- --------------------
loc-001 en-US My App Do things faster
loc-002 zh-Hans 我的应用 更快地完成任务Create Localization
创建多语言本地化条目
Create a new locale entry. is required (up to 30 characters).
--namebash
asc app-info-localizations create \
--app-info-id <APP_INFO_ID> \
--locale zh-Hans \
--name "我的应用"Common locales: , , , , , ,
en-USzh-Hanszh-Hantjakodefr创建新的区域本地化条目。为必填参数(最多30个字符)。
--namebash
asc app-info-localizations create \
--app-info-id <APP_INFO_ID> \
--locale zh-Hans \
--name "我的应用"常见区域代码:, , , , , ,
en-USzh-Hanszh-HantjakodefrUpdate Localization
更新多语言本地化信息
All fields are optional — only provided fields are changed (PATCH semantics).
bash
asc app-info-localizations update \
--localization-id <LOCALIZATION_ID> \
[--name "New App Name"] \
[--subtitle "Do things faster"] \
[--privacy-policy-url "https://example.com/privacy"] \
[--privacy-choices-url "https://example.com/choices"] \
[--privacy-policy-text "Our privacy policy text"]| Flag | Description |
|---|---|
| App name (up to 30 characters) |
| Subtitle (up to 30 characters) |
| Main privacy policy URL |
| Privacy choices/opt-out URL |
| Inline privacy policy text |
所有字段均为可选——仅修改提供的字段(采用PATCH语义)。
bash
asc app-info-localizations update \
--localization-id <LOCALIZATION_ID> \
[--name "New App Name"] \
[--subtitle "Do things faster"] \
[--privacy-policy-url "https://example.com/privacy"] \
[--privacy-choices-url "https://example.com/choices"] \
[--privacy-policy-text "Our privacy policy text"]| 参数 | 说明 |
|---|---|
| 应用名称(最多30个字符) |
| 副标题(最多30个字符) |
| 主隐私政策URL |
| 隐私选项/退出URL |
| 内嵌隐私政策文本 |
Delete Localization
删除多语言本地化条目
Remove a locale entry permanently.
bash
asc app-info-localizations delete --localization-id <LOCALIZATION_ID>永久删除区域本地化条目。
bash
asc app-info-localizations delete --localization-id <LOCALIZATION_ID>CAEOAS Affordances
CAEOAS功能选项
Every response includes ready-to-run follow-up commands:
AppInfo:
json
{
"affordances": {
"getAgeRating": "asc age-rating get --app-info-id <ID>",
"listAppInfos": "asc app-infos list --app-id <APP_ID>",
"listLocalizations": "asc app-info-localizations list --app-info-id <ID>",
"updateCategories": "asc app-infos update --app-info-id <ID>"
}
}AppInfoLocalization:
json
{
"affordances": {
"delete": "asc app-info-localizations delete --localization-id <ID>",
"listLocalizations": "asc app-info-localizations list --app-info-id <APP_INFO_ID>",
"updateLocalization": "asc app-info-localizations update --localization-id <ID>"
}
}AppCategory:
json
{
"affordances": {
"listCategories": "asc app-categories list"
}
}每个响应都包含可直接运行的后续命令:
AppInfo:
json
{
"affordances": {
"getAgeRating": "asc age-rating get --app-info-id <ID>",
"listAppInfos": "asc app-infos list --app-id <APP_ID>",
"listLocalizations": "asc app-info-localizations list --app-info-id <ID>",
"updateCategories": "asc app-infos update --app-info-id <ID>"
}
}AppInfoLocalization:
json
{
"affordances": {
"delete": "asc app-info-localizations delete --localization-id <ID>",
"listLocalizations": "asc app-info-localizations list --app-info-id <APP_INFO_ID>",
"updateLocalization": "asc app-info-localizations update --localization-id <ID>"
}
}AppCategory:
json
{
"affordances": {
"listCategories": "asc app-categories list"
}
}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.jsonTypical 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'如果为空:询问用户或运行asc apps list | jq -r '.data[0].id'
asc apps list | jq -r '.data[0].id'1. Get the AppInfo ID
1. 获取AppInfo ID
APP_INFO_ID=$(asc app-infos list --app-id "$APP_ID" | jq -r '.data[0].id')
APP_INFO_ID=$(asc app-infos list --app-id "$APP_ID" | jq -r '.data[0].id')
2. See existing localizations
2. 查看现有本地化信息
asc app-info-localizations list --app-info-id "$APP_INFO_ID" --output table
asc app-info-localizations list --app-info-id "$APP_INFO_ID" --output table
3a. Update an existing locale
3a. 更新现有区域本地化
LOC_ID=$(asc app-info-localizations list --app-info-id "$APP_INFO_ID"
| jq -r '.data[] | select(.locale == "en-US") | .id') asc app-info-localizations update
--localization-id "$LOC_ID"
--name "My App"
--subtitle "Do things faster"
--privacy-policy-url "https://example.com/privacy"
| jq -r '.data[] | select(.locale == "en-US") | .id') asc app-info-localizations update
--localization-id "$LOC_ID"
--name "My App"
--subtitle "Do things faster"
--privacy-policy-url "https://example.com/privacy"
LOC_ID=$(asc app-info-localizations list --app-info-id "$APP_INFO_ID"
| jq -r '.data[] | select(.locale == "en-US") | .id') asc app-info-localizations update
--localization-id "$LOC_ID"
--name "My App"
--subtitle "Do things faster"
--privacy-policy-url "https://example.com/privacy"
| jq -r '.data[] | select(.locale == "en-US") | .id') asc app-info-localizations update
--localization-id "$LOC_ID"
--name "My App"
--subtitle "Do things faster"
--privacy-policy-url "https://example.com/privacy"
3b. Add a new locale
3b. 添加新区域本地化
asc app-info-localizations create
--app-info-id "$APP_INFO_ID"
--locale zh-Hans
--name "我的应用"
--app-info-id "$APP_INFO_ID"
--locale zh-Hans
--name "我的应用"
asc app-info-localizations create
--app-info-id "$APP_INFO_ID"
--locale zh-Hans
--name "我的应用"
--app-info-id "$APP_INFO_ID"
--locale zh-Hans
--name "我的应用"
3c. Remove an unwanted locale
3c. 删除不需要的区域本地化
asc app-info-localizations delete --localization-id <LOCALIZATION_ID>
asc app-info-localizations delete --localization-id <LOCALIZATION_ID>
4. Set app category
4. 设置应用分类
asc app-categories list --platform IOS --output table
asc app-infos update
--app-info-id "$APP_INFO_ID"
--primary-category GAMES
--primary-subcategory-one GAMES_ACTION
--app-info-id "$APP_INFO_ID"
--primary-category GAMES
--primary-subcategory-one GAMES_ACTION
asc app-categories list --platform IOS --output table
asc app-infos update
--app-info-id "$APP_INFO_ID"
--primary-category GAMES
--primary-subcategory-one GAMES_ACTION
--app-info-id "$APP_INFO_ID"
--primary-category GAMES
--primary-subcategory-one GAMES_ACTION
5. Check age rating (navigate via affordance)
5. 检查年龄分级(通过功能选项跳转)
asc age-rating get --app-info-id "$APP_INFO_ID"
undefinedasc age-rating get --app-info-id "$APP_INFO_ID"
undefinedTwo Localization Types
两种本地化类型
| Type | Commands | Fields |
|---|---|---|
| | name, subtitle, privacyPolicyUrl, privacyChoicesUrl, privacyPolicyText |
| | whatsNew, description, keywords, screenshots |
App info localizations are persistent across app versions. Version localizations are per-release.
| 类型 | 命令 | 字段 |
|---|---|---|
| | 名称、副标题、privacyPolicyUrl、privacyChoicesUrl、privacyPolicyText |
| | 更新说明、描述、关键词、截图 |
应用信息本地化在各应用版本间持久保留。版本本地化则针对单个版本发布。