App Store Connect:自动化 iOS 应用管理 - Openclaw Skills

作者:互联网

2026-03-29

AI教程

什么是 App Store Connect?

App Store Connect 技能是专为开发者设计的专业工具,旨在以编程方式与 Apple 生态系统进行交互。通过利用 App Store Connect API,此技能使 AI 代理能够处理应用生命周期管理中的沉重工作。它简化了诸如 JWT 身份验证、构建处理状态监控和元数据更新等复杂任务,确保您的部署管道保持高效并符合 Apple 的严格标准。

无论您是在管理内部测试人员还是准备重大的公开版本,Openclaw Skills 库中的此技能都提供了本地开发环境与 Apple 云服务之间必要的桥梁。它确保了如 ES256 令牌生成和速率限制处理等技术障碍得到自动管理,让您能够专注于构建优秀的软件。

下载入口:https://github.com/openclaw/skills/tree/main/skills/ivangdavila/app-store-connect

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install app-store-connect

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 app-store-connect。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

App Store Connect 应用场景

  • 自动化 TestFlight 构建版本向内部和外部测试组的分发。
  • 在处理和验证阶段检查应用构建版本的状态。
  • 管理 App Store 审核提交的应用元数据、关键词和屏幕截图。
  • 通过 API 获取应用分析和销售报告。
  • 为 iOS 和 macOS 项目创建和配置新的 Bundle ID。
App Store Connect 工作原理
  1. 该技能使用您的 Issuer ID、Key ID 和私有 .p8 密钥文件生成本地化的 JWT 令牌。
  2. 它使用 ES256 算法与官方 Apple API 端点进行接口连接,以实现安全身份验证。
  3. 代理监控构建状态,在执行进一步操作前确保其从“处理中”转为“有效”。
  4. 元数据和构建信息与 App Store Connect 同步,为 TestFlight 或生产版本发布做好准备。
  5. 该技能处理速率限制和 API 版本控制,以确保与 Apple 服务器的稳定通信。

App Store Connect 配置指南

要开始使用,您必须使用来自 App Store Connect 的必要 API 凭据配置您的环境。请确保您的本地机器上已准备好私有 .p8 密钥文件。

# 导出所需的环境变量
export ASC_ISSUER_ID="your-issuer-id"
export ASC_KEY_ID="your-key-id"
export ASC_PRIVATE_KEY_PATH="/path/to/your/AuthKey_XXXX.p8"

配置完成后,您可以直接通过 Openclaw Skills 界面管理您的应用。请确保您的 API 密钥具有执行预定任务所需的权限(管理员或应用管理)。

App Store Connect 数据架构与分类体系

该技能围绕 App Store Connect API 结构组织数据。关键数据点包括:

数据类型 描述
应用元数据 商店页面的描述、关键词和本地化字符串。
构建信息 版本号、构建 ID 和处理状态。
TestFlight 组 内部和外部测试人员列表以及反馈电子邮件。
API 凭据 安全处理的发行者 ID 和密钥路径(存储在本地)。

所有敏感的身份验证数据都保留在您的本地机器上,绝不会通过 Openclaw Skills 与第三方共享。

name: App Store Connect
slug: app-store-connect
version: 1.0.0
homepage: https://clawic.com/skills/app-store-connect
description: Manage iOS apps, TestFlight builds, submissions, and analytics via App Store Connect API.
metadata: {"clawdbot":{"emoji":"??","requires":{"bins":[],"env":["ASC_ISSUER_ID","ASC_KEY_ID","ASC_PRIVATE_KEY_PATH"]},"os":["linux","darwin","win32"]}}

When to Use

User needs to manage iOS/macOS apps on App Store Connect. Agent handles API authentication, build management, TestFlight distribution, App Review submissions, and analytics retrieval.

Quick Reference

Topic File
API Authentication api-auth.md
Common Workflows workflows.md

Core Rules

1. JWT Authentication Required

App Store Connect API uses JWT tokens signed with your private key.

# Required environment variables:
# ASC_ISSUER_ID     - From App Store Connect > Users > Keys
# ASC_KEY_ID        - From the API key you created
# ASC_PRIVATE_KEY_PATH - Path to your .p8 private key file

Generate JWT with ES256 algorithm, 20-minute expiration max. See api-auth.md for code examples.

2. API Versioning

Always specify API version in requests.

curl -H "Authorization: Bearer $JWT" r
     "https://api.appstoreconnect.apple.com/v1/apps"

Current stable version: v1. Check Apple docs for v2 endpoints.

3. Build Processing States

Builds go through states after upload:

State Meaning Action
PROCESSING Upload received, processing Wait
FAILED Processing failed Check logs
INVALID Validation failed Fix issues, re-upload
VALID Ready for testing/submission Proceed

Never submit a build that is not VALID.

4. TestFlight Distribution

  • Internal Testing: Up to 100 members, builds available immediately after processing
  • External Testing: Up to 10,000 testers, requires Beta App Review for first build of version
  • External groups need at least: app description, feedback email, privacy policy URL

5. App Review Submission

Before submitting for review:

  • All required metadata complete (descriptions, keywords, screenshots)
  • App Preview videos under 30 seconds
  • Privacy policy URL valid and accessible
  • Contact information current

Submission creates an appStoreVersion in PENDING_DEVELOPER_RELEASE or WAITING_FOR_REVIEW.

6. Rate Limits

API has rate limits per hour. Handle 429 responses with exponential backoff.

# Respect Retry-After header
HTTP/1.1 429 Too Many Requests
Retry-After: 60

7. Bundle ID Management

Bundle IDs are permanent once created. Cannot be deleted or renamed.

  • Use reverse-domain notation: com.company.appname
  • Plan naming carefully before registration
  • Each bundle ID can only belong to one team

Common Traps

  • Expired JWT - Tokens expire in 20 min max. Regenerate before long operations.
  • Wrong key permissions - API keys need specific roles (Admin, App Manager, etc.)
  • Missing export compliance - Apps with encryption need ECCN or exemption documentation
  • Build version collision - Each build needs unique version+build number combo
  • Screenshot dimensions - Must match exactly for each device type (no scaling)
  • Phased release confusion - Phased release is for App Store only, not TestFlight

External Endpoints

Endpoint Data Sent Purpose
api.appstoreconnect.apple.com App metadata, build info App Store Connect API

No other data is sent externally.

Security & Privacy

Data that leaves your machine:

  • App metadata sent to Apple for App Store listing
  • Build information for processing
  • Analytics queries

Data that stays local:

  • API private key (.p8) - never transmit
  • JWT tokens - generated locally
  • Downloaded reports

This skill does NOT:

  • Store your .p8 key in plain text
  • Share credentials with third parties
  • Access apps outside your team

Install with clawhub install if user confirms:

  • ios — iOS development patterns
  • swift — Swift language reference
  • xcode — Xcode IDE workflows

Feedback

  • If useful: clawhub star app-store-connect
  • Stay updated: clawhub sync