À propos du projet

App Store Connect CLI (`asc`) est un outil en ligne de commande rapide et scriptable pour automatiser les workflows App Store Connect sur les plateformes iOS, macOS, tvOS et visionOS. ### Installation - Homebrew : `brew install asc` - Script d'installation : `curl -fsSL https://asccli.sh/install | bash` - WinGet : `winget install Rorkai.ASC --exact` - Binaires de version disponibles dans les releases GitHub ; les builds depuis les sources nécessitent la version de Go déclarée dans go.mod. ### Authentification Les clés API sont générées sur appstoreconnect.apple.com. Authentifiez-vous avec : ```bash asc auth login --name "MyApp" --key-id "ABC123" --issuer-id "DEF456" --private-key /path/to/AuthKey.p8 --network ``` Les clés API individuelles omettent `--issuer-id` et utilisent `--key-type individual`. Pour les environnements CI ou sans interface, passez `--bypass-keychain`. Validez avec `asc auth status --validate` ou `asc auth doctor`. ### Sortie par défaut `asc` utilise la sortie `table` dans les terminaux interactifs et `json` dans les pipes/CI. Remplacez globalement via `ASC_DEFAULT_OUTPUT` ou par commande avec `--output json --pretty`. ### Workflows courants **TestFlight et builds :** ```bash asc apps list --output table asc builds upload --app "APP_ID" --ipa "/path/to/MyApp.ipa" asc testflight groups list --app "APP_ID" ``` **Soumission à l'App Store :** ```bash asc publish appstore --app "APP_ID" --ipa "/path/to/MyApp.ipa" --version "1.2.3" --submit --confirm asc status --app "APP_ID" --watch ``` **Validation et review :** ```bash asc validate --app "APP_ID" --version "1.2.3" asc review status --app "APP_ID" asc validate --app "APP_ID" --version "1.2.3" --deep ``` La validation approfondie vérifie App Privacy, les accords et les rattachements d'abonnements via les endpoints web authentifiés d'Apple, sans invite interactive. **Métadonnées et localisation :** ```bash asc localizations list --app "APP_ID" --type app-info asc metadata apply --app "APP_ID" --version "1.2.3" --dir "./metadata" --dry-run asc metadata keywords audit --app "APP_ID" --version "1.2.3" --blocked-terms-file "./blocked-terms.txt" ``` L'audit des mots-clés signale les doublons, les chevauchements avec le nom/sous-titre de l'app, l'utilisation du budget en octets et les termes bloqués. **Captures d'écran et médias :** ```bash asc screenshots plan --app "APP_ID" --version "1.2.3" --review-output-dir "./screenshots/review" asc screenshots apply --app "APP_ID" --version "1.2.3" --review-output-dir "./screenshots/review" --confirm ``` La capture matricielle de captures d'écran sur les appareils, locales et apparences est prise en charge via un fichier de plan JSONC. **Signature et bundle IDs :** ```bash asc bundle-ids capabilities list --bundle "BUNDLE_ID" asc signing fetch --bundle-id com.example.app --profile-type IOS_APP_STORE --output .asc/signing asc signing sync pull --repo [email protected]:team/signing.git --password-file ~/.config/asc/signing-sync-password --output-dir .asc/signing/pulled ``` `signing fetch` télécharge les certificats et profils de provisionnement. `signing sync` partage les identités via un dépôt Git chiffré. Utilisez `--create-missing` pour générer la clé/certificat/profil manquant en une seule passe. **Automatisation des workflows :** ```bash asc workflow validate --output json asc workflow run --dry-run testflight_beta VERSION:1.2.3 ``` **Xcode Cloud :** ```bash asc xcode-cloud run --workflow-id "WORKFLOW_ID" --pull-request-id "PR_ID" asc xcode-cloud build-runs get --id "BUILD_RUN_ID" ``` **Apple Ads et StoreKit :** Des identifiants OAuth distincts sont utilisés pour les campagnes Apple Ads et StoreKit Retention Messaging. Voir `asc ads auth login` et `asc storekit auth login` pour la configuration. ### Agent Skills 25 compétences d'automatisation `asc` vérifiées sont disponibles sur https://github.com/rorkai/app-store-connect-cli-skills. Installez-les globalement avec `asc install-skills`, qui épingle le commit extrait et vérifie chaque fichier. ### Confidentialité et télémétrie Une télémétrie pseudonyme au niveau des commandes est envoyée par défaut pour aider les mainteneurs à suivre la fiabilité. Les événements incluent la version du CLI, l'OS, l'architecture, le chemin de commande, la durée et le statut HTTP en cas d'échec. Ils excluent les arguments bruts, les identifiants, les identifiants de compte Apple, les bundle IDs et les chemins de fichiers. Désactivez avec `ASC_TELEMETRY_DISABLED=1`, `DO_NOT_TRACK=1` ou `asc telemetry disable`. ### Documentation - `docs/CI_CD.md` — intégration GitHub Actions, GitLab, Bitrise, CircleCI - `docs/WORKFLOWS.md` — patterns locaux Xcode vers TestFlight - `commands/signing.mdx` — configuration des identités de signature et rotation en CI - `guides/apple-ads-playbooks.mdx` — guides opérateur Apple Ads - `docs/API_NOTES.md` — particularités et comportements de l'API - `docs/PARITY.md` — zones de parité restantes L'aide intégrée fait autorité : `asc <command> --help`. Licence : MIT. Outil non officiel, non affilié à Apple Inc.