J’avais déjà publié mon app Expo sur Google Play. Si vous avez lu cet article, vous savez que Google Play et l’App Store sont très différents. Apple possède son propre écosystème, ses outils, son processus de validation et ses façons bien à lui de compliquer les choses.
Voici mon guide étape par étape pour publier une app Expo sur l’App Store iOS, de la création d’un compte Apple Developer jusqu’au clic sur « Soumettre pour validation ». Il rassemble tout ce que j’aurais aimé savoir avant de commencer.
Prérequis
Avant de commencer, assurez-vous d’avoir :
- Un projet Expo fonctionnel (workflow managed ou bare)
- Un Mac, ou un accès à un Mac. Apple exige macOS pour compiler les apps iOS nativement, mais EAS Build permet de contourner cette contrainte.
- Xcode installé (dernière version stable)
- Un identifiant Apple
❇️ Étape 1 : S’inscrire à l’Apple Developer Program
C’est le premier obstacle. Contrairement aux 25 $ payés une seule fois sur Android, Apple facture 99 $ par an.
- Rendez-vous sur developer.apple.com
- Cliquez sur « Account » et connectez-vous avec votre identifiant Apple
- Inscrivez-vous à l’Apple Developer Program
- Saisissez vos informations personnelles ou celles de votre organisation
- Réglez les 99 $
Une fois votre inscription approuvée, vous aurez accès à App Store Connect et au portail Apple Developer, les deux tableaux de bord essentiels pour la suite.
❇️ Étape 2 : Configurer votre app dans App Store Connect
App Store Connect vous permet de gérer la fiche de votre app, ses builds, ses prix et ses soumissions.
- Rendez-vous sur appstoreconnect.apple.com
- Cliquez sur « + », puis choisissez « Nouvelle app »
- Saisissez les informations de l’app :
- Plateforme : iOS
- Nom : le nom affiché de votre app (choisissez-le avec soin, car il est difficile à modifier)
- Bundle ID : doit correspondre exactement à la valeur de votre configuration Expo
- SKU : un identifiant interne unique
- Cliquez sur « Créer »
La fiche de votre app est maintenant créée dans App Store Connect. Il n’y a pas encore de build, seulement le conteneur de l’app.
❇️ Étape 3 : Configurer votre projet Expo pour iOS
Ouvrez app.json (ou app.config.js) et vérifiez que la section iOS est complète :
{
"expo": {
"name": "Your App Name",
"slug": "your-app-slug",
"version": "1.0.0",
"ios": {
"bundleIdentifier": "com.yourname.yourapp",
"buildNumber": "1",
"supportsTablet": true,
"infoPlist": {
"NSCameraUsageDescription": "We need camera access to...",
"NSPhotoLibraryUsageDescription": "We need photo access to..."
}
}
}
}Vérifiez notamment les points suivants :
- bundleIdentifier doit correspondre exactement à la valeur enregistrée dans App Store Connect.
- buildNumber doit être incrémenté à chaque envoi, même si la version ne change pas.
- Ajoutez chaque autorisation utilisée par votre app à infoPlist avec une description claire. Apple peut refuser votre app si ces descriptions sont absentes ou vagues.
❇️ Étape 4 : Gérer les certificats et les profils de provisionnement
C’est là qu’Apple diffère le plus d’Android et que beaucoup de développeurs perdent des heures. Il vous faut deux éléments :
- Un certificat de distribution, qui prouve que le build vient de vous
- Un profil de provisionnement, qui relie le Bundle ID de votre app à votre certificat et autorise sa distribution
Option A : laisser EAS s’en charger (recommandé)
Avec EAS Build, toute cette gestion peut être automatisée :
npx eas-cli credentialsEAS vous demandera de vous connecter à votre compte Apple, puis générera et stockera tout pour vous.
Option B : procéder manuellement avec Xcode ou le portail Apple Developer
- Dans le portail Apple Developer, ouvrez Certificates, IDs & Profiles.
- Créez un certificat de distribution iOS.
- Créez un App ID correspondant à votre Bundle Identifier.
- Créez un profil de provisionnement de distribution qui relie les deux.
💡 Leçon retenue : évitez de conserver plusieurs certificats de développeur. Apple limite leur nombre par compte et la révocation d’un certificat invalide les profils de provisionnement qui l’utilisent.
❇️ Étape 5 : Compiler votre app
Utiliser EAS Build (recommandé)
npm install -g eas-cli
eas login
eas build:configureConfigurez eas.json pour la production :
{
"build": {
"production": {
"ios": {
"distribution": "store"
}
}
}
}Lancez ensuite le build :
eas build --platform ios --profile productionEAS compile votre app dans le cloud, gère la signature du code et vous fournit un fichier .ipa prêt à envoyer. Aucun Mac n’est nécessaire pour cette étape.
Utiliser Xcode (build local)
npx expo run:ios --configuration ReleaseVous pouvez aussi ouvrir le dossier ios/ dans Xcode, choisir « Any iOS Device » comme cible, puis sélectionner Product → Archive.
❇️ Étape 6 : Envoyer votre build à App Store Connect
Option A : EAS Submit (la méthode la plus simple)
eas submit --platform ios --latestOption B : Transporter : téléchargez l’app depuis le Mac App Store, connectez-vous, ajoutez votre fichier .ipa et cliquez sur « Deliver ».
Option C : Xcode Organizer : après l’archivage, ouvrez Window → Organizer, sélectionnez votre archive et choisissez Distribute App → App Store Connect → Upload.
❇️ Étape 7 : Tester avec TestFlight
Testez toujours votre app avec TestFlight avant de la soumettre à l’App Store.
- Dans App Store Connect, ouvrez TestFlight.
- Une fois le build traité, ajoutez des testeurs internes (jusqu’à 100 personnes de votre équipe).
- Pour les testeurs externes, soumettez d’abord l’app à la validation bêta (généralement 1 à 2 jours).
❇️ Étape 8 : Préparer la fiche App Store
Apple exige tous les éléments suivants avant la soumission :
- Nom (30 caractères maximum) et sous-titre (30 caractères maximum)
- Catégorie (principale et secondaire facultative)
- URL de la politique de confidentialité (obligatoire)
- Description (4 000 caractères maximum ; soignez les premières lignes)
- Mots-clés (100 caractères au total, séparés par des virgules)
Captures d’écran — Apple impose des dimensions précises :
- iPhone 6,9 pouces (iPhone 16 Pro Max) — obligatoire
- iPhone 6,7 pouces (iPhone 14 Plus / 15 Plus) — facultatif, mais recommandé
- iPad Pro 13 pouces (M4) — obligatoire si votre app prend en charge l’iPad
❇️ Étape 9 : Définir le prix et la disponibilité
- Ouvrez « Prix et disponibilité ».
- Choisissez « Gratuit » ou définissez un niveau de prix.
- Sélectionnez les territoires où distribuer l’app (tous par défaut).
- Définissez une date de disponibilité (facultatif).
❇️ Étape 10 : Remplir le questionnaire sur la confidentialité
Apple vous demande de déclarer vos pratiques en matière de données. Ces informations apparaîtront dans le label de confidentialité de votre page App Store. Dans App Store Connect, ouvrez « Confidentialité de l’app » et répondez honnêtement : quelles données collectez-vous, sont-elles liées à l’identité de l’utilisateur et servent-elles au suivi ?
❇️ Étape 11 : Soumettre à la validation
Dans « Informations de validation », laissez une note à l’équipe Apple. Si votre app nécessite une connexion, indiquez ici des identifiants de test. Choisissez ensuite « Ajouter pour validation » → « Soumettre à la validation de l’app ».
❇️ Étape 12 : Publier !
Une fois approuvée, votre app passe au statut « Prête à la vente ». Vous pouvez choisir l’une de ces options lors de la soumission :
- Publication manuelle : vous choisissez quand l’app est mise en ligne.
- Publication automatique : l’app est mise en ligne dès son approbation.
🎉 Félicitations, votre app est sur l’App Store.
❇️ Pour conclure
Le processus de l’App Store est moins transparent que celui de Google Play, mais les versions suivantes sont bien plus simples après la première. Les principales pertes de temps sont :
- Certificats et provisionnement — laissez EAS s’en charger.
- Captures d’écran — prévoyez du temps pour les concevoir.
- La première validation — comptez 1 à 3 jours et vérifiez que rien ne plante.
L’écosystème Apple demande un apprentissage plus important, mais le public de l’App Store est précieux et ses exigences de qualité jouent en votre faveur une fois votre app publiée. Bon lancement ! 🚀
Si cet article vous a été utile, j’ai également écrit sur Publier mon app Expo sur Google Play — le même guide étape par étape pour Android. Retrouvez aussi mes apps sur vladsiu.com.
