App Store Connect CLI
App Store Connect CLI

App Store Connect CLI最新版

官方版无广告7

App Store Connect CLI是一个快速、轻量且可脚本化的命令行工具,用于 App Store Connect API。在您的终端、IDE 或 CI/CD 流水线中自动化您的 iOS、macOS、tvOS 和 visionOS 应用工作流程。构建为一个单一的 Go 二进制文件。

更新日期:
2026年2月20日
语言:
中文
平台:

26.6MB0 人已下载 手机查看

在移动应用开发的生命周期中,最耗时且重复性最高的环节往往不是编码,而是上架与分发。手动登录 App Store Connect 后台、上传构建版本、配置 TestFlight 测试组、提交审核……这些繁琐步骤不仅效率低下,还极易出错。

App-Store-Connect-CLI

asc (App Store Connect CLI) 应运而生。这是一个用 Go 语言编写的快速轻量完全可脚本化的命令行工具。它将庞大的 App Store Connect API 封装为简洁的终端命令,让你能在本地终端、IDE 或 CI/CD 流水线中,轻松自动化 iOS、macOS、tvOS 乃至 visionOS 应用的全套工作流。

作为一个单一的静态二进制文件,asc 无需复杂的运行时依赖,启动瞬间完成,是现代化移动工程体系的理想拼图。

核心功能全景

asc 覆盖了应用从构建到上架的全生命周期管理:

  • 🧪 TestFlight 管理:自动化管理构建版本、创建测试群组、邀请测试员、收集反馈及监控崩溃报告。
  • 📦 App Store 提交:一键管理版本信息、多语言本地化、截图上传、提交审核及控制分阶段发布。
  • 🏗️ 构建版本控制:直接上传 IPA/PKG 包、自动过期旧版本、精细化管理构建元数据。
  • 🔐 签名与证书:无缝管理证书、描述文件、Bundle ID 及各类 Entitlements 能力。
  • 💰 订阅与内购 (IAP):创建和管理订阅组、内购项目、优惠代码及定价策略。
  • 📊 数据分析与销售: programmatically 下载销售报告、获取分析数据及财务报表。
  • ☁️ Xcode Cloud 集成:触发云构建工作流、实时监控运行状态、下载构建产物。
  • ✅ macOS 公证 (Notarization):提交公证请求、轮询状态并检索日志,确保 Mac 应用顺利分发。
  • 🎮 Game Center:管理成就系统、排行榜及其集合,支持多语言本地化。
  • 🖼️ 媒体资源管理:批量上传截图和预览视频,自动添加设备边框,统一管理 App Store 素材。
  • 🔗 Webhooks 支持:创建和管理 App Store Connect 事件通知钩子。
  • ⚙️ 工作流自动化:通过 .asc/workflow.json 定义多步骤复杂任务,支持 JSON 标准输出,完美契合自动化脚本。
  • 🤖 CI/CD 友好:优先输出 JSON 格式、明确的命令行标志、无交互式提示、清晰的退出码,专为机器执行设计。

💡 为什么选择 asc?

痛点asc 解决方案
手动操作繁琐全命令行自动化,解放双手,减少人为失误
现有工具笨重缓慢单一 Go 二进制文件,毫秒级启动,零依赖负担
脚本集成困难原生支持 JSON 输出、明确的状态码,轻松嵌入 Shell/Python/Node 脚本

⚡ 快速开始

安装方式

推荐:通过 Homebrew 安装 (macOS/Linux)

brew tap rudrankriyam/tap
brew install asc

备选:一键安装脚本

curl -fsSL https://raw.githubusercontent.com/rudrankriyam/App-Store-Connect-CLI/main/install.sh | bash
# 默认安装至 ~/.local/bin,请确保该目录已在 PATH 中

源码构建 (适合贡献者)

git clone https://github.com/rudrankriyam/App-Store-Connect-CLI.git
cd App-Store-Connect-CLI
make build
./asc --help

注意asc 不会自动更新。使用 Homebrew 时运行 brew upgrade asc;使用脚本时重新运行安装命令即可。

🔐 认证与配置

asc 提供了灵活且安全的认证机制,支持多配置文件切换,完美适配本地开发与 CI/CD 环境。

1. 注册 API 密钥

首先,你需要在 App Store Connect 生成 API 密钥。
也可以在终端直接打开该页面:

asc auth init --open

2. 登录与凭证管理

基础登录:

asc auth login \
  --name "MyApp" \
  --key-id "ABC123" \
  --issuer-id "DEF456" \
  --private-key /path/to/AuthKey.p8

CI/CD 场景(跳过网络验证):
在自动化环境中,为了加快速度,可跳过凭证有效性检查:

asc auth login \
  --skip-validation \
  --name "CI-Build" \
  --key-id "ABC123" \
  --issuer-id "DEF456" \
  --private-key /path/to/AuthKey.p8

多配置文件管理:
你可以为不同的项目或客户保存多套凭证:

# 添加新客户配置
asc auth login --name "ClientA" --key-id "XYZ789" ...

# 切换默认配置
asc auth switch --name "ClientA"

# 临时指定配置运行命令
asc --profile "ClientA" apps list

3. 存储策略与安全

  • 默认行为:凭证优先存储在系统钥匙串 (Keychain) 中,配置文件 ~/.asc/config.json 作为后备。
  • 绕过钥匙串:在某些无图形界面的服务器或 Docker 容器中,可使用 --bypass-keychain 将凭证直接存入配置文件。
  • 项目级配置:使用 asc auth init --local 可在当前仓库生成 ./.asc/config.json,该配置优先级高于全局配置,适合团队协作。

4. 环境变量支持

在 CI/CD 流水线中,推荐使用环境变量注入敏感信息,避免硬编码:

变量名描述
ASC_KEY_IDAPI 密钥 ID
ASC_ISSUER_ID颁发者 ID
ASC_PRIVATE_KEY_PATH私钥文件路径
ASC_PRIVATE_KEY私钥原始内容 (自动写入临时文件)
ASC_PRIVATE_KEY_B64Base64 编码的私钥内容
ASC_PROFILE指定使用的配置名称
ASC_BYPASS_KEYCHAIN设为 true 强制使用文件/环境变量,忽略钥匙串
ASC_STRICT_AUTH设为 true,当检测到凭证来源冲突时报错,确保安全

🛠️ 高级用法与调试

输出格式化

asc 支持多种输出格式,方便不同场景消费:

  • --output json:机器可读,适合脚本解析。
  • --output table:人类可读,适合终端查看。
  • --output markdown:适合生成文档。
  • 可通过 ASC_DEFAULT_OUTPUT 环境变量设置默认格式。

调试模式

遇到 API 错误或连接问题时,开启调试日志:

# 启用通用调试
ASC_DEBUG=1 asc apps list

# 查看详细的 HTTP 请求/响应 (已脱敏)
ASC_DEBUG=api asc apps list

# 或针对单条命令
asc apps list --api-debug

重试机制

网络波动是常态,asc 内置了智能重试逻辑:

  • ASC_MAX_RETRIES (默认 3):最大重试次数。
  • ASC_BASE_DELAY / ASC_MAX_DELAY:退避策略控制。
  • ASC_RETRY_LOG=1:将重试过程记录到 stderr,便于排查。

📝 配置文件结构

config.json 采用蛇形命名法,支持以下关键配置项:

{
  "app_id": "123456789",
  "vendor_number": "123456",
  "timeout": "90s",
  "upload_timeout": "300s",
  "max_retries": 5,
  "base_delay": "1s",
  "debug": "api" 
}

相关软件

暂无评论

none
暂无评论...