asc-metadata-sync

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

ASC Metadata Sync

ASC元数据同步

Use this skill to keep local metadata in sync with App Store Connect.
使用该工具可保持本地元数据与App Store Connect同步。

Two Types of Localizations

两种本地化类型

1. Version Localizations (per-release)

1. 版本本地化(按发布版本)

Fields:
description
,
keywords
,
whatsNew
,
supportUrl
,
marketingUrl
,
promotionalText
bash
undefined
包含字段:
description
keywords
whatsNew
supportUrl
marketingUrl
promotionalText
bash
undefined

List version localizations

列出版本本地化内容

asc localizations list --version "VERSION_ID"
asc localizations list --version "VERSION_ID"

Download

下载本地化内容

asc localizations download --version "VERSION_ID" --path "./localizations"
asc localizations download --version "VERSION_ID" --path "./localizations"

Upload from .strings files

从.strings文件上传

asc localizations upload --version "VERSION_ID" --path "./localizations"
undefined
asc localizations upload --version "VERSION_ID" --path "./localizations"
undefined

2. App Info Localizations (app-level)

2. 应用信息本地化(应用级)

Fields:
name
,
subtitle
,
privacyPolicyUrl
,
privacyChoicesUrl
,
privacyPolicyText
bash
undefined
包含字段:
name
subtitle
privacyPolicyUrl
privacyChoicesUrl
privacyPolicyText
bash
undefined

First, find the app info ID

首先,查找应用信息ID

asc app-infos list --app "APP_ID"
asc app-infos list --app "APP_ID"

List app info localizations

列出应用信息本地化内容

asc localizations list --app "APP_ID" --type app-info --app-info "APP_INFO_ID"
asc localizations list --app "APP_ID" --type app-info --app-info "APP_INFO_ID"

Upload app info localizations

上传应用信息本地化内容

asc localizations upload --app "APP_ID" --type app-info --app-info "APP_INFO_ID" --path "./app-info-localizations"

**Note:** If you get "multiple app infos found", you must specify `--app-info` with the correct ID.
asc localizations upload --app "APP_ID" --type app-info --app-info "APP_INFO_ID" --path "./app-info-localizations"

**注意:** 如果出现“找到多个应用信息”的提示,你必须指定`--app-info`参数并传入正确的ID。

Fastlane Format Workflow

Fastlane格式工作流

Export current state

导出当前状态

bash
asc migrate export --app "APP_ID" --output "./metadata"
bash
asc migrate export --app "APP_ID" --output "./metadata"

Validate local files

验证本地文件

bash
asc migrate validate --fastlane-dir "./metadata"
This checks character limits and required fields.
bash
asc migrate validate --fastlane-dir "./metadata"
该命令会检查字符限制和必填字段。

Import updates

导入更新内容

bash
asc migrate import --app "APP_ID" --fastlane-dir "./metadata"
bash
asc migrate import --app "APP_ID" --fastlane-dir "./metadata"

Quick Field Updates

快速字段更新

Version-specific fields

版本专属字段

bash
undefined
bash
undefined

What's New

新版本介绍

asc app-info set --app "APP_ID" --locale "en-US" --whats-new "Bug fixes and improvements"
asc app-info set --app "APP_ID" --locale "en-US" --whats-new "Bug修复与功能优化"

Description

应用描述

asc app-info set --app "APP_ID" --locale "en-US" --description "Your app description here"
asc app-info set --app "APP_ID" --locale "en-US" --description "你的应用描述内容"

Keywords

关键词

asc app-info set --app "APP_ID" --locale "en-US" --keywords "keyword1,keyword2,keyword3"
asc app-info set --app "APP_ID" --locale "en-US" --keywords "keyword1,keyword2,keyword3"

Support URL

支持网址

asc app-info set --app "APP_ID" --locale "en-US" --support-url "https://support.example.com"
undefined
asc app-info set --app "APP_ID" --locale "en-US" --support-url "https://support.example.com"
undefined

Version metadata

版本元数据

bash
undefined
bash
undefined

Copyright

版权信息

asc versions update --version-id "VERSION_ID" --copyright "2026 Your Company"
asc versions update --version-id "VERSION_ID" --copyright "2026 你的公司"

Release type

发布类型

asc versions update --version-id "VERSION_ID" --release-type AFTER_APPROVAL
undefined
asc versions update --version-id "VERSION_ID" --release-type AFTER_APPROVAL
undefined

TestFlight notes

TestFlight说明

bash
asc build-localizations create --build "BUILD_ID" --locale "en-US" --whats-new "TestFlight notes here"
bash
asc build-localizations create --build "BUILD_ID" --locale "en-US" --whats-new "TestFlight测试说明"

.strings File Format

.strings文件格式

For bulk updates, use .strings files:
// en-US.strings
"description" = "Your app description";
"keywords" = "keyword1,keyword2,keyword3";
"whatsNew" = "What's new in this version";
"supportUrl" = "https://support.example.com";
For app-info type:
// en-US.strings (app-info type)
"privacyPolicyUrl" = "https://example.com/privacy";
"name" = "Your App Name";
"subtitle" = "Your subtitle";
如需批量更新,可使用.strings文件:
// en-US.strings
"description" = "你的应用描述";
"keywords" = "keyword1,keyword2,keyword3";
"whatsNew" = "本版本更新内容";
"supportUrl" = "https://support.example.com";
应用信息类型的.strings文件:
// en-US.strings (app-info type)
"privacyPolicyUrl" = "https://example.com/privacy";
"name" = "你的应用名称";
"subtitle" = "你的应用副标题";

Multi-Language Workflow

多语言工作流

  1. Export all localizations:
bash
asc localizations download --version "VERSION_ID" --path "./localizations"
  1. Translate the .strings files (or use translation service)
  2. Upload all at once:
bash
asc localizations upload --version "VERSION_ID" --path "./localizations"
  1. Verify:
bash
asc localizations list --version "VERSION_ID" --output table
  1. 导出所有本地化内容:
bash
asc localizations download --version "VERSION_ID" --path "./localizations"
  1. 翻译.strings文件(或使用翻译服务)
  2. 批量上传:
bash
asc localizations upload --version "VERSION_ID" --path "./localizations"
  1. 验证:
bash
asc localizations list --version "VERSION_ID" --output table

Character Limits

字符限制

FieldLimit
Name30
Subtitle30
Keywords100 (comma-separated)
Description4000
What's New4000
Promotional Text170
Use
asc migrate validate
to check limits before upload.
字段限制
应用名称30
副标题30
关键词100(逗号分隔)
应用描述4000
新版本介绍4000
推广文本170
上传前可使用
asc migrate validate
检查字符限制。

Notes

注意事项

  • Version localizations and app info localizations are different; use the right command and
    --type
    flag.
  • asc migrate validate
    enforces character limits before upload.
  • Use
    asc localizations list
    to confirm available locales and IDs.
  • Privacy Policy URL is in app info localizations, not version localizations.
  • 版本本地化与应用信息本地化是不同的内容,请使用正确的命令和
    --type
    参数。
  • asc migrate validate
    会在上传前强制检查字符限制。
  • 使用
    asc localizations list
    确认可用的语言区域和ID。
  • 隐私政策网址属于应用信息本地化内容,而非版本本地化内容。