关于 asc-init
这是 asc-cli 的项目上下文初始化命令,将应用标识和可选的审核联系信息保存到 `.asc/project.json`。它供应用开发者和 Agent 跨会话复用项目上下文,避免反复列出应用。
主要功能
- 01保存应用 ID 和名称
- 02从 Xcode 项目检测上下文
- 03按名称搜索应用
- 04保存可选审核联系信息
- 05提供后续命令入口
适用场景
- 01初始化应用项目上下文
- 02跨会话复用应用标识
- 03准备审核联系信息
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ tddworks/ asc-cli-skills --skill asc-init安装后在 Claude Code 中输入/asc-init确认已加载。
详细介绍
asc init — 项目上下文初始化
将 App ID、名称、Bundle ID 以及可选的审核联系人信息保存到当前目录下的 .asc/project.json。后续命令和 Agent 会读取此文件,而不是在每个会话中都调用 asc apps list。
命令
init — 固定项目上下文
# Direct (no API list call)
asc init --app-id <id> [--pretty]
# By name (case-insensitive search)
asc init --name "My App" [--pretty]
# Auto-detect from *.xcodeproj/project.pbxproj in cwd
asc init [--pretty]
# With review contact info
asc init --app-id <id> \
--contact-first-name "Jane" \
--contact-last-name "Smith" \
--contact-email "[email protected]" \
--contact-phone "+1-555-0100" \
[--pretty]
优先级:--app-id > --name > 自动检测。联系人标志为可选项,可与任意检测模式组合使用。
保存的内容
./.asc/project.json(未设置的联系人字段将被省略):
{
"appId": "1234567890",
"appName": "My App",
"bundleId": "com.example.myapp",
"contactEmail": "[email protected]",
"contactFirstName": "Jane",
"contactLastName": "Smith",
"contactPhone": "+1-555-0100"
}
JSON 输出
保存联系人信息时,输出会包含联系人字段和 updateReviewContact 操作入口。未保存联系人信息时,则会显示 setReviewContact 操作入口。
{
"data": [
{
"affordances": {
"checkReadiness": "asc versions check-readiness --version-id <id>",
"listAppInfos": "asc app-infos list --app-id 1234567890",
"listBuilds": "asc builds list --app-id 1234567890",
"listVersions": "asc versions list --app-id 1234567890",
"updateReviewContact": "asc init --app-id 1234567890 --contact-email ... --contact-phone ..."
},
"appId": "1234567890",
"appName": "My App",
"bundleId": "com.example.myapp",
"contactEmail": "[email protected]",
"contactFirstName": "Jane",
"contactLastName": "Smith",
"contactPhone": "+1-555-0100"
}
]
}
典型工作流
# 1. Run once per project directory
cd /path/to/MyApp
asc init --pretty
# 2. In subsequent sessions, read the saved context
APP_ID=$(jq -r '.appId' .asc/project.json)
# 3. Use normally — no need for asc apps list
asc versions list --app-id "$APP_ID"
asc builds list --app-id "$APP_ID"
自动检测逻辑
未提供任何标志时,asc init 会扫描当前目录中的 *.xcodeproj/project.pbxproj 文件,并提取 PRODUCT_BUNDLE_IDENTIFIER 值。随后,它会将这些 Bundle ID 与你的 App Store Connect 应用进行匹配。
变量引用(如 $(PRODUCT_BUNDLE_IDENTIFIER))会被跳过,只匹配字面值。
错误情况
| 情况 | 错误 |
|---|---|
提供了 --name,但没有匹配的应用 | No app named '…'. Run asc apps list to see available apps. |
自动检测:未找到 .xcodeproj | No Xcode project found. Use --app-id or --name. |
| 自动检测:Bundle ID 与任何 ASC 应用都不匹配 | No ASC app matched bundle IDs: com.example.app |
另请参阅
- 完整功能文档:
docs/features/init.md - 根据输出中的操作入口列出版本、构建或应用信息,无需知道 App ID
评论
支持 Markdown