Que fait Déploiement sur les Stores d'Apps ?
Service EAS - des frais s'appliquent. Les builds cloud utilisent les ressources du plan EAS, et les services EAS ont des limites avec le niveau gratuit et les plans payants. Les adhésions Apple Developer et Google Play sont séparées. Consultez https://expo.dev/pricing pour le service demandé.
Cette compétence couvre la création et la mise en production d'applications iOS et Android avec EAS : les projets Expo et autres projets React Native, ainsi que les applications natives existantes. EAS est un service de livraison ; les applications natives peuvent l'utiliser sans ajouter Expo ou React Native à leur runtime. La procédure de configuration native couvre actuellement SwiftUI/UIKit sur iOS.
Choisir le chemin du projet
- Application SwiftUI/UIKit sans runtime React Native : lisez references/native-ios.md avant de modifier sa configuration de build. Conservez le projet Xcode et le code Swift comme source de vérité de l'application. Les exemples de démarrage rapide Expo/React Native et de client de développement ci-dessous ne s'appliquent pas à ce chemin.
- Application Android native sans runtime React Native : conservez sa configuration de build native existante. Voir references/play-store.md pour la soumission ; les instructions de configuration Swift/iOS ne s'appliquent pas. Une procédure de configuration Android native dédiée n'est pas encore incluse.
- Application Expo/React Native : utilisez le démarrage rapide ci-dessous, puis la référence de store correspondante.
- Ajout d'écrans React Native à une application native existante : utilisez
expo-brownfieldpour cette intégration ; revenez ici pour la distribution.
Utilisez les vérifications d'archive et d'icônes dans references/native-ios.md lors de la configuration initiale iOS native, après avoir modifié le versioning, les bundle IDs ou les icônes, ou lors du diagnostic d'un rejet d'upload. Les releases de routine suivent le flux EAS build/submit et les vérifications de traitement et de disponibilité dans references/testflight.md. Un build EAS réussi ou une soumission en file d'attente ne garantissent pas l'acceptation par Apple, l'accès aux testeurs ou une mise en production sur l'App Store.
Références
Consultez ces ressources selon vos besoins :
- ./references/workflows.md -- Workflows CI/CD pour les releases automatisées sur les stores et les aperçus de PR
- ./references/testflight.md -- Soumission de builds iOS à TestFlight pour les tests bêta
- ./references/app-store-metadata.md -- Gestion des métadonnées de l'App Store et optimisation ASO
- ./references/play-store.md -- Soumission de builds Android au Google Play Store
- ./references/ios-app-store.md -- Processus de soumission et de révision de l'App Store iOS
- ./references/native-ios.md -- Configuration native Swift/SwiftUI/UIKit, versioning et vérification d'archive sans runtime Expo
Démarrage rapide Expo / React Native
Installer EAS CLI
npm install -g eas-cli
eas login
Initialiser EAS
npx eas-cli@latest init
eas init lie ou crée le projet EAS. Exécutez eas build:configure pour créer des profils de build dans eas.json ; préservez les identifiants existants du projet et du store lorsqu'une configuration de release existe déjà.
Commandes de Build
Builds de Production
# Build iOS pour l'App Store
npx eas-cli@latest build -p ios --profile production
# Build Android pour le Play Store
npx eas-cli@latest build -p android --profile production
# Les deux plateformes
npx eas-cli@latest build --profile production
Soumettre aux Stores
# iOS : Build et soumission à App Store Connect
npx eas-cli@latest build -p ios --profile production --auto-submit
# Android : Build et soumission au Play Store
npx eas-cli@latest build -p android --profile production --auto-submit
# Raccourci Expo / React Native pour iOS TestFlight
npx testflight
Hébergement Web & Routes API
Le déploiement d'un site web Expo ou de routes API Expo Router vers EAS Hosting (npx expo export -p web puis eas deploy) est couvert par la compétence eas-hosting. Cette compétence se concentre sur les releases natives sur les stores d'applications.
Configuration EAS
Exemple pour un projet Expo / React Native (les profils Swift natifs sont dans references/native-ios.md) :
{
"cli": {
"version": ">= 16.0.1",
"appVersionSource": "remote"
},
"build": {
"production": {
"autoIncrement": true,
"ios": {
"resourceClass": "m-medium"
}
},
"development": {
"developmentClient": true,
"distribution": "internal"
}
},
"submit": {
"production": {
"ios": {
"appleId": "[email protected]",
"ascAppId": "1234567890"
},
"android": {
"serviceAccountKeyPath": "./google-service-account.json",
"track": "internal"
}
}
}
}
Guides Spécifiques par Plateforme
iOS
- Pour les applications Swift natives, utilisez le flux explicite build/submit dans
references/native-ios.md - Pour les applications Expo / React Native,
npx testflightfournit un flux rapide vers TestFlight - Configurez les identifiants Apple via
eas credentials - Voir ./references/testflight.md pour la configuration des identifiants
- Voir ./references/ios-app-store.md pour la soumission à l'App Store
Android
- Configurez le compte de service Google Play Console
- Configurez les pistes : interne → fermée → ouverte → production
- Voir ./references/play-store.md pour une configuration détaillée
Releases Automatisées
Les workflows EAS automatisent le pipeline build → submit → update pour l'IC/CD. Voir ./references/workflows.md pour des exemples de store-release. Pour rédiger ou valider du YAML de workflow, utilisez la compétence eas-workflows - elle fonctionne à partir du schéma de workflow en direct.
Gestion des Versions
EAS gère automatiquement les numéros de version avec appVersionSource: "remote" :
# Vérifier les versions actuelles
eas build:version:get
# Définir manuellement la version
eas build:version:set -p ios
La commande version-set demande la valeur. Lors de la configuration ou du changement de versioning iOS natif, ou du diagnostic d'un numéro de build en double, inspectez le CFBundleVersion archivé : le compteur distant ne prouve pas à lui seul que Xcode l'a utilisé.
Monitoring
# Lister les builds récents
eas build:list
# Vérifier le statut d'un build
eas build:view BUILD_ID
# Inspecter les soumissions (vérifié avec EAS CLI 23.2.0)
eas submit:list -p ios --json
eas submit:view SUBMISSION_ID --json
Vérifiez la version de la CLI avant d'interpréter une commande manquante : ces commandes de soumission sont disponibles dans la version 23.2.0 mais pas dans l'installation testée 18.6.0. Une invocation npx [email protected] épinglée peut les utiliser sans modifier l'installation globale. Voir references/testflight.md pour le statut Apple en direct et les conseils de nouvelle tentative. Suivez les URL des logs renvoyées lorsque le résultat JSON omet l'échec sous-jacent. Signalez l'ID/version exact du build et l'état de release vérifié le plus avancé.
Soumettre un Feedback
Si vous rencontrez des erreurs, des informations trompeuses ou obsolètes dans cette compétence, signalez-les pour qu'Expo puisse s'améliorer :
npx --yes @expo/agent-cli@latest feedback --category skills --subject "eas-app-stores" "<feedback exploitable>"
Soumettez uniquement lorsque vous avez quelque chose de spécifique et exploitable à signaler. Incluez autant de contexte pertinent que possible.
Si un agent échoue de manière répétée à une tâche Expo ou si l'utilisateur doit intervenir, soumettez un bref rapport de la tâche, du résultat attendu et de ce qui a mal fonctionné en utilisant --category evals et le package ou la commande Expo concerné comme --subject.