asc-app-wall
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
Chineseasc app-wall — Submit Your App to the App Wall
asc app-wall — 提交你的应用到应用墙
Adds your app to the community showcase at asccli.app/#app-wall by forking , adding your entry to , and opening a pull request — all in one command.
tddworks/asc-clihomepage/apps.jsonNo ASC authentication required. Only a GitHub token is needed.
通过fork 、在中添加你的条目并发起Pull Request,只需一条命令即可将你的应用添加至asccli.app/#app-wall的社区展示区。
tddworks/asc-clihomepage/apps.json无需ASC身份验证,仅需GitHub令牌即可。
Command
命令
bash
asc app-wall submit [options]| Flag | Required | Description |
|---|---|---|
| — | Display handle on the card; when omitted, uses iTunes artist name |
| ✓* | Apple developer/seller ID — auto-fetches all your App Store apps |
| ✓* | App Store Connect app ID (repeatable) |
| — | GitHub username |
| — | X/Twitter handle |
| ✓* | Specific App Store URL (repeat for multiple) |
| — | GitHub token (or set |
✓* At least one of , , or is required — without it there are no apps to display on the wall.
--developer-id--app-id--appbash
asc app-wall submit [options]| 标识 | 必填 | 说明 |
|---|---|---|
| — | 在卡片上显示的开发者标识;若省略,则使用iTunes艺术家名称 |
| ✓* | Apple开发者/销售者ID — 自动获取你所有的App Store应用 |
| ✓* | App Store Connect应用ID(可重复使用) |
| — | GitHub用户名 |
| — | X/Twitter账号 |
| ✓* | 特定的App Store链接(可重复添加多个) |
| — | GitHub令牌(或设置环境变量 |
✓* 至少需要提供、或中的一个 — 否则没有可展示在应用墙上的应用。
--developer-id--app-id--appTypical Workflow
典型工作流程
bash
undefinedbash
undefined1. Authenticate with GitHub (once)
1. 完成GitHub身份验证(仅需一次)
gh auth login
gh auth login
or: export GITHUB_TOKEN="ghp_..."
或:export GITHUB_TOKEN="ghp_..."
2. Submit — the CLI handles fork + commit + PR automatically
2. 提交应用 — CLI会自动处理fork、提交和PR创建
asc app-wall submit
--developer "yourhandle"
--developer-id "1234567890"
--github "yourgithub"
--x "yourx"
--pretty
--developer "yourhandle"
--developer-id "1234567890"
--github "yourgithub"
--x "yourx"
--pretty
asc app-wall submit
--developer "yourhandle"
--developer-id "1234567890"
--github "yourgithub"
--x "yourx"
--pretty
--developer "yourhandle"
--developer-id "1234567890"
--github "yourgithub"
--x "yourx"
--pretty
3. Open the PR in your browser (URL is in the output)
3. 在浏览器中打开PR(链接会在输出结果中显示)
open "https://github.com/tddworks/asc-cli/pull/<number>"
undefinedopen "https://github.com/tddworks/asc-cli/pull/<number>"
undefinedTwo Submission Modes
两种提交模式
Mode A — all apps by developer ID (recommended):
bash
asc app-wall submit \
--developer "itshan" \
--developer-id "1725133580" \
--github "hanrw"Find your Apple developer ID at .
https://apps.apple.com/us/developer/name/id<NUMBER>Mode B — specific App Store URLs:
bash
asc app-wall submit \
--developer "itshan" \
--app "https://apps.apple.com/us/app/my-app/id123456789" \
--app "https://apps.apple.com/us/app/other-app/id987654321"Both modes can be combined in one command.
模式A — 通过开发者ID提交所有应用(推荐):
bash
asc app-wall submit \
--developer "itshan" \
--developer-id "1725133580" \
--github "hanrw"可在找到你的Apple开发者ID。
https://apps.apple.com/us/developer/name/id<NUMBER>模式B — 通过特定App Store链接提交:
bash
asc app-wall submit \
--developer "itshan" \
--app "https://apps.apple.com/us/app/my-app/id123456789" \
--app "https://apps.apple.com/us/app/other-app/id987654321"两种模式可在同一条命令中组合使用。
JSON Output
JSON输出
json
{
"data": [
{
"affordances": {
"openPR": "open https://github.com/tddworks/asc-cli/pull/42"
},
"developer": "itshan",
"id": "42",
"prNumber": 42,
"prUrl": "https://github.com/tddworks/asc-cli/pull/42",
"title": "feat(app-wall): add itshan"
}
]
}json
{
"data": [
{
"affordances": {
"openPR": "open https://github.com/tddworks/asc-cli/pull/42"
},
"developer": "itshan",
"id": "42",
"prNumber": 42,
"prUrl": "https://github.com/tddworks/asc-cli/pull/42",
"title": "feat(app-wall): add itshan"
}
]
}What Happens Under the Hood
底层执行流程
- Authenticates with GitHub using your token
- Forks (idempotent — safe to run multiple times)
tddworks/asc-cli - Syncs the fork to upstream
main - Fetches current from your fork
homepage/apps.json - Checks for duplicate (field)
developer - Creates branch
app-wall/<developer> - Commits updated to that branch
apps.json - Opens a PR against
tddworks/asc-cli:main
- 使用你的令牌完成GitHub身份验证
- Fork (幂等操作 — 可安全重复执行)
tddworks/asc-cli - 将fork仓库与上游分支同步
main - 从你的fork仓库获取当前的文件
homepage/apps.json - 检查是否存在重复条目(基于字段)
developer - 创建分支
app-wall/<developer> - 将更新后的提交至该分支
apps.json - 向发起PR
tddworks/asc-cli:main
Error Cases
错误场景
| Error | Cause | Fix |
|---|---|---|
| Neither flag supplied | Add |
| No token found | Pass |
| Duplicate | Entry already submitted; check existing PR |
| Fork creation took > 24 seconds | Retry after a moment |
| Branch already exists | Safe to ignore — command continues |
| 错误信息 | 原因 | 解决方法 |
|---|---|---|
| 未提供任一必填标识 | 添加 |
| 未找到GitHub令牌 | 传入 |
| | 条目已提交;请检查现有PR |
| Fork创建耗时超过24秒 | 稍后重试 |
| 分支已存在 | 可忽略此错误 — 命令会继续执行 |
apps.json Format
apps.json格式
The entry added to :
homepage/apps.jsonjson
{
"developer": "yourhandle",
"developerId": "1234567890",
"github": "yourgithub",
"x": "yourx"
}Nil fields are omitted automatically. After the PR is merged, regenerates to pull in your apps from the iTunes API.
fetch-apps-data.jsapps-data.json添加至的条目格式:
homepage/apps.jsonjson
{
"developer": "yourhandle",
"developerId": "1234567890",
"github": "yourgithub",
"x": "yourx"
}空字段会被自动省略。PR合并后,会重新生成,从iTunes API拉取你的应用信息。
fetch-apps-data.jsapps-data.jsonSee Also
相关链接
- Full feature doc:
docs/features/app-wall.md - App wall live:
https://asccli.app/#app-wall - Upstream repo:
https://github.com/tddworks/asc-cli
- 完整功能文档:
docs/features/app-wall.md - 应用墙在线地址:
https://asccli.app/#app-wall - 上游仓库:
https://github.com/tddworks/asc-cli