Outil CLI
rorkai/App-Store-Connect-CLI avatar
rorkai/App-Store-Connect-CLI

App-Store-Connect-CLI : analyse pratique fondée sur le README

Aperçu du projet : CLI rapide et scriptable pour l'API App Store Connect. Automatisez TestFlight, les builds, les soumissions, la signature, les analyses, les captures d'écran, les abonnements et bien plus encore. JSON d'abord, pas d'invites interactives.

7 254 étoiles611 forksGoMIT

En bref

De quoi s’agit-il ?
Fast, scriptable CLI for the App Store Connect API. Automate TestFlight, builds, submissions, signing, analytics, screenshots, subscriptions, and more. JSON-first, no interactive prompts.
À qui s’adresse-t-il ?
App-Store-Connect-CLI s'adresse aux utilisateurs dont le besoin correspond précisément à la fonction documentée du dépôt. Il convient moins à ceux qui attendent des garanties absentes du README.
Puis-je l’utiliser commercialement ?
Oui. MIT est une licence permissive : vous pouvez utiliser, modifier et vendre un logiciel qui en dépend, à condition de conserver les mentions de droit d’auteur et de licence.
Est-il encore maintenu ?
Oui. Le dépôt a reçu de nouveaux commits au cours des dernières 24 heures.
En quel langage est-il écrit ?
Principalement Go, d’après les statistiques de langage de GitHub.

Ces réponses reposent sur les données GitHub du projet (dernière synchronisation le 15 septembre 2026) et sur notre analyse. Elles ne constituent pas un avis juridique.

ANALYSE OPEN SOURCE APPROFONDIE

Périmètre d'automatisation

La description du dépôt indique un CLI rapide et scriptable pour l'API App Store Connect, écrit en Go, avec une sortie orientée JSON et aucune invite interactive. Il automatise les workflows de publication iOS, macOS, tvOS et visionOS, couvrant les retours et crashs TestFlight, l'upload et la distribution de builds, la publication et soumission App Store, la localisation des métadonnées, les captures d'écran, la signature, les identifiants de bundle, les exécutions Xcode Cloud, les campagnes Apple Ads et le StoreKit Retention Messaging. Le README précise qu'Apple Ads et StoreKit utilisent des identifiants séparés de l'API principale.

Installation et authentification

Les options d'installation incluent Homebrew (`brew install asc`), un script d'installation pour macOS/Linux (`curl -fsSL https://asccli.sh/install | bash`) et un paquet WinGet qui n'était pas encore accepté au moment de la rédaction. Les binaires publiés sont autonomes et ne nécessitent pas d'installation de Go. L'authentification utilise les clés API App Store Connect ; `asc auth login` accepte un key ID, un issuer ID et une clé privée, avec un drapeau `--bypass-keychain` pour les environnements CI ou headless. `asc auth status --validate` et `asc auth doctor` vérifient la configuration.

Sortie par défaut et étiquettes de stabilité

Le CLI choisit un format de sortie par défaut selon que stdout est un TTY : `table` pour les terminaux interactifs, `json` pour les pipes, fichiers et CI. Les utilisateurs peuvent définir une préférence globale via `ASC_DEFAULT_OUTPUT` (par exemple `markdown`), et les drapeaux explicites `--output` ont toujours priorité. Le README définit également des étiquettes de stabilité : pas d'étiquette signifie un contrat public stable, `[experimental]` signifie en évolution avec des bords plus marqués, et `DEPRECATED:` indique un chemin de compatibilité conservé pendant la migration.

Télémétrie et confidentialité

Par défaut, `asc` envoie une télémétrie pseudonyme au niveau des commandes avec un identifiant d'installation aléatoire. Le README liste ce qui est inclus (version du CLI, OS/architecture, chemin de commande, durée, classe de résultat et statut HTTP en cas d'échec) et ce qui ne l'est pas (arguments bruts, identifiants, identifiants d'app, chemins de fichiers, etc.). La télémétrie peut être consultée avec `asc telemetry status`, désactivée avec `asc telemetry disable`, ou coupée via les variables d'environnement `ASC_TELEMETRY_DISABLED` et `DO_NOT_TRACK`.

Workflows représentatifs

Le README documente les workflows pour les retours et crashs TestFlight, l'upload et la distribution de builds, ainsi qu'une commande de haut niveau `asc publish appstore` qui téléverse, attache et soumet un build. Il couvre également l'initialisation et l'application de métadonnées avec des audits de mots-clés, la planification et l'upload de captures d'écran, la liste des signatures et identifiants de bundle, et un moteur de workflows avec `asc workflow validate` et `asc workflow run`. Pour Xcode Cloud, `asc xcode-cloud run` déclenche ou relance des exécutions de build. Apple Ads et StoreKit Retention Messaging ont leurs propres familles d'authentification et de commandes.

Documentation et support

L'aide intégrée (`asc --help`, `asc <command> --help`) est décrite comme la surface faisant autorité pour les commandes et drapeaux. Le dépôt contient `docs/COMMANDS.md`, `docs/CI_CD.md`, `docs/WORKFLOWS.md` et des guides pour Apple Ads et StoreKit Retention Messaging. Le support passe par GitHub Discussions pour les questions pratiques et GitHub Issues pour les bugs et demandes de fonctionnalités. Le README précise également que le projet est un outil indépendant et non officiel, sans affiliation ni approbation d'Apple. L’intérêt de cet outil se mesure sur un workflow Apple précis: interroger les applications, contrôler les réponses JSON et examiner les étiquettes de stabilité avant de brancher une étape de publication. Les identifiants App Store Connect, les rôles du compte et la portée des clés API doivent rester séparés du dépôt. Un essai avec une application de test permet de confirmer la commande exacte, le format de sortie et le comportement en cas d’autorisation insuffisante. La documentation du dépôt doit être comparée à la version publiée avant d’automatiser une action destructive ou une soumission.

Conclusion éditoriale

App-Store-Connect-CLI s'adresse aux utilisateurs dont le besoin correspond précisément à la fonction documentée du dépôt. Il convient moins à ceux qui attendent des garanties absentes du README. Commencez par le scénario propre au projet décrit dans la dernière section, puis vérifiez les sorties et les journaux avant toute donnée sensible.

Sources officielles

  1. Official documentation
  2. Official README
  3. Project repository
  4. Release notes
Notes de la communauté

Notes de la communauté