Comment créer une app sur Apple Developer : guide complet
Publier une première app iOS prend souvent plus de temps que la développer. Certificats, App ID, provisioning profiles, App Store Connect : le parcours complet étape par étape, avec les cinq erreurs qui m'ont coûté trois jours.
J'ai passé 3 jours entiers à essayer de publier ma première app iOS sur l'App Store. Trois jours à me battre avec des certificats qui ne voulaient pas s'installer, des provisioning profiles qui restaient invalides, et des erreurs cryptiques de Xcode qui me rendaient fou.
Le pire ? J'avais terminé le développement de mon app en 2 semaines, mais le processus de déploiement m'a pris presque autant de temps. Si tu développes une app iOS et que tu appréhendes cette étape, je te comprends parfaitement.
Aujourd'hui, je vais te partager exactement ce que j'aurais aimé savoir avant de me lancer. Un guide complet, étape par étape, basé sur mes erreurs et mes succès. Parce que créer une app sur Apple Developer, c'est un parcours du combattant quand on ne connaît pas les pièges.

L'inscription au programme Apple Developer
Pourquoi 99$ par an (et c'est obligatoire)
Apple ne fait pas dans la charité. Pour publier sur l'App Store, tu dois obligatoirement payer 99$ par an pour rejoindre l'Apple Developer Program. Pas de version gratuite, pas d'exception.
Ce qui m'a surpris, c'est que ce n'est pas juste pour publier. Sans ce membership, tu ne peux même pas tester ton app sur un vrai iPhone pour plus de 7 jours. Apple révoque automatiquement les certificats de développement gratuits après une semaine.
Le processus d'inscription (plus long que prévu)
L'inscription semble simple sur le papier, mais dans la réalité :
- Crée ton Apple ID (si pas déjà fait) sur developer.apple.com
- Clique sur "Enroll" et choisis "Individual" ou "Organization"
- Remplis tes informations (nom, adresse, téléphone)
- Paie les 99$ avec ta carte de crédit
- Attends la validation d'Apple
Mon conseil : Choisis "Individual" sauf si tu as vraiment une entreprise enregistrée. J'ai d'abord essayé "Organization" en pensant que ça faisait plus pro, mais Apple demande des documents légaux que je n'avais pas. Perte de temps garantie.
La validation peut prendre entre 24h et une semaine. Dans mon cas, ça a pris 3 jours ouvrables.
Configuration des certificats de développement
Le mystère des CSR expliqué simplement
Les Certificate Signing Requests (CSR) sont probablement la partie la plus confuse du processus. En gros, c'est un fichier que ton Mac génère pour prouver à Apple que c'est bien toi qui développes l'app.
Voici comment créer ton CSR :
- Ouvre "Trousseau d'accès" (Keychain Access) sur ton Mac
- Va dans le menu Trousseau d'accès > Assistant de certificat > Demander un certificat à une autorité de certification
- Remplis ton email et ton nom (exactement comme sur ton compte Apple Developer)
- Laisse "Adresse de messagerie de l'autorité de certification" vide
- Coche "Enregistrer sur le disque"
- Clique sur Continuer et sauvegarde le fichier .certSigningRequest
Erreur que j'ai faite : J'ai mis n'importe quoi dans le champ "Nom commun". Apple est strict sur la correspondance des noms. Utilise exactement le même nom que sur ton compte développeur.
Créer ton certificat de développement
Maintenant, direction l'Apple Developer Console :
- Va sur developer.apple.com/account
- Clique sur "Certificates, Identifiers & Profiles"
- Dans la sidebar, clique sur "Certificates"
- Clique le "+" pour créer un nouveau certificat
- Sélectionne "iOS Development" sous la section Development
- Upload ton fichier CSR créé précédemment
- Télécharge le certificat (.cer) généré par Apple
- Double-clique sur le fichier .cer pour l'installer dans ton Trousseau
Point crucial : Tu verras ton certificat dans Trousseau d'accès avec une clé privée associée. Si la clé privée n'apparaît pas, c'est que quelque chose a foiré. Recommence depuis le début.
App ID et Bundle Identifier
Choisir le bon Bundle Identifier
Le Bundle Identifier, c'est l'identifiant unique de ton app. Format classique : com.tonnom.nomdelapp.
Exemple : Pour Housing AI, j'ai utilisé com.tokamdarius.housingai
Règles importantes :
- Pas d'espaces, pas de caractères spéciaux
- Une fois choisi, tu ne peux plus le changer facilement
- Doit être unique au monde (Apple vérifie)
Créer ton App ID
Dans la console Apple Developer :
- Clique sur "Identifiers" dans la sidebar
- Clique le "+" pour créer un nouvel identifiant
- Sélectionne "App IDs" et clique Continue
- Choisis "App" et Continue
- Remplis la description (juste pour toi, ça n'apparaît nulle part)
- Entre ton Bundle ID exact
- Sélectionne les "Capabilities" dont ton app a besoin
Les capabilities importantes :
- Push Notifications si tu veux envoyer des notifs
- In-App Purchase si tu veux vendre dans l'app
- Game Center pour les jeux
- HealthKit pour les apps santé
J'active toujours Push Notifications même si je ne les utilise pas immédiatement. C'est plus facile de les avoir que de modifier l'App ID plus tard.
Provisioning Profiles (le vrai casse-tête)
Development vs Distribution Profiles
Il y a deux types de provisioning profiles :
- Development Profile : Pour tester sur ton iPhone pendant le développement
- Distribution Profile : Pour publier sur l'App Store
Mon erreur de débutant : J'ai créé seulement un Distribution Profile en pensant que ça marcherait pour tout. Résultat : impossible de tester mon app sur mon iPhone. Il faut les deux.
Créer ton Development Provisioning Profile
- Va dans "Profiles" dans la sidebar
- Clique le "+"
- Sélectionne "iOS App Development" sous Development
- Choisis ton App ID créé précédemment
- Sélectionne ton certificat de développement
- Choisis tes devices de test (ton iPhone, iPad, etc.)
- Donne un nom au profile (ex: "MonApp Development")
- Télécharge le fichier .mobileprovision
Astuce : Ajoute tous tes devices iOS dans la section "Devices" avant de créer le profile. Tu peux ajouter jusqu'à 100 devices par an.
Créer ton Distribution Provisioning Profile
Même processus, mais :
- Sélectionne "App Store" sous Distribution
- Tu n'as pas besoin de sélectionner des devices (l'App Store gère ça)
- Utilise ton certificat de distribution (il faut d'abord le créer comme le certificat de développement, mais en choisissant "iOS Distribution" au lieu de "iOS Development")
Configuration dans Xcode
Importer tes profiles automatiquement
Xcode peut télécharger automatiquement tes provisioning profiles :
- Ouvre Xcode
- Va dans Preferences (Cmd + ,)
- Onglet "Accounts"
- Ajoute ton Apple ID développeur
- Sélectionne ton team et clique "Download Manual Profiles"
Configuration du projet
Dans ton projet Xcode :
- Sélectionne ton projet dans le navigateur
- Onglet "Signing & Capabilities"
- Décoche "Automatically manage signing" (je préfère le contrôle manuel)
- Sélectionne ton Team
- Pour Debug : choisis ton Development Provisioning Profile
- Pour Release : choisis ton Distribution Provisioning Profile
Problème courant : Si Xcode affiche "No matching provisioning profile found", vérifie que :
- Le Bundle Identifier dans Xcode correspond exactement à celui de ton App ID
- Ton certificat est bien installé dans le Trousseau
- Le provisioning profile contient le bon certificat et le bon App ID
App Store Connect
Créer ton app sur App Store Connect
App Store Connect, c'est là où tu gères tout ce qui concerne la publication :
- Va sur appstoreconnect.apple.com
- Clique "My Apps"
- Clique le "+" et sélectionne "New App"
- Choisis la plateforme (iOS)
- Entre le nom de ton app (peut être différent du Bundle ID)
- Sélectionne ton Bundle ID (celui créé précédemment)
- Choisis un SKU (identifiant unique, j'utilise souvent le même que le Bundle ID)
Remplir les métadonnées
Avant de pouvoir uploader ton app, tu dois remplir :
- Description de l'app
- Mots-clés pour la recherche
- Screenshots (obligatoire pour chaque taille d'écran)
- Icône de l'app (1024x1024 pixels)
- Informations de contact et support
- Politique de confidentialité (obligatoire maintenant)
Astuce screenshots : Utilise le simulateur iOS pour générer des screenshots parfaits. Device > Screenshot dans le menu du simulateur.
D'ailleurs, quand j'ai créé Housing AI, j'ai appliqué beaucoup de principes que j'explique dans mon article sur la création d'un MVP. La même philosophie "commence simple" s'applique aux métadonnées App Store : ne surtout pas tout vouloir parfait du premier coup.
Upload et soumission
Archive et upload avec Xcode
Une fois tout configuré :
- Sélectionne "Any iOS Device" comme destination
- Menu Product > Archive
- Attendre que Xcode compile et crée l'archive
- L'Organizer s'ouvre automatiquement
- Clique "Distribute App"
- Sélectionne "App Store Connect"
- Choisis "Upload"
- Sélectionne ton Distribution Provisioning Profile
- Clique "Upload"
Le processus d'upload peut prendre 10-30 minutes selon la taille de ton app et ta connexion internet.
Soumission pour review
Une fois l'upload terminé (tu recevras un email de confirmation) :
- Retourne sur App Store Connect
- Dans ton app, va à l'onglet "App Store"
- Clique sur ta version (1.0 par exemple)
- Dans la section "Build", clique "+"
- Sélectionne le build que tu viens d'uploader
- Vérifie que tout est rempli (métadonnées, screenshots, etc.)
- Clique "Submit for Review"
Temps de review : Apple annonce 24-48h, mais dans mon expérience, c'est plutôt 2-7 jours selon la période.
Pièges à éviter (mes erreurs douloureuses)
Erreur #1 : Oublier le certificat de distribution
Ma première soumission a été refusée parce que j'avais utilisé un certificat de développement pour la distribution. Apple est strict : Development pour tester, Distribution pour publier.
Erreur #2 : Bundle ID qui ne correspond pas
J'ai passé 2 heures à debugger des erreurs de signature avant de réaliser que j'avais une majuscule en trop dans le Bundle ID de mon projet Xcode par rapport à celui enregistré sur Apple Developer.
Erreur #3 : Capabilities manquantes
Mon app utilisait les notifications push, mais j'avais oublié d'activer cette capability dans l'App ID. Résultat : plantages mystérieux en production.
Erreur #4 : Screenshots de mauvaise qualité
Premier refus d'Apple : screenshots flous. Ils veulent des images parfaites, utilise toujours le simulateur ou des vrais devices, jamais de screenshots redimensionnés.
Erreur #5 : Privacy Policy manquante
Depuis iOS 14, une politique de confidentialité est obligatoire pour toutes les apps. Même si ton app ne collecte aucune donnée, il faut une page qui le dit explicitement.
Outils qui m'ont sauvé la vie
Fastlane pour l'automatisation
Une fois que tu maîtrises le processus manuel, Fastlane peut automatiser tout ça. Mais apprends d'abord à le faire manuellement, sinon tu ne comprendras jamais les erreurs.
TestFlight pour les betas
TestFlight, c'est magique. Tu peux inviter jusqu'à 10 000 bêta-testeurs sans passer par la review d'Apple. Parfait pour tester avant la soumission officielle.
App Store Connect API
Pour les développeurs avancés, l'API App Store Connect permet d'automatiser la gestion des métadonnées, screenshots, etc. J'utilise ça maintenant pour Housing AI.
Comme je l'ai appris en développant des APIs avec Django et FastAPI (j'en parle dans cet article comparatif), l'automatisation devient indispensable dès qu'on gère plusieurs projets.
Mon workflow actuel optimisé
Après avoir publié plusieurs apps, voici mon processus optimisé :
- Je crée d'abord l'App ID et les certificats
- J'installe immédiatement les provisioning profiles
- Je configure Xcode avant même d'écrire du code
- Je teste sur device réel dès le premier jour
- Je prépare les métadonnées App Store en parallèle du développement
- J'utilise TestFlight pour les tests finaux
- Je soumets avec confiance
Cette méthode me fait gagner des heures et évite le stress de dernière minute.
Conclusion
Créer une app sur Apple Developer, c'est comme apprendre à conduire : ça semble impossible au début, puis ça devient automatique. Les 99$ annuels font mal la première fois, mais c'est l'investissement le plus rentable si tu es sérieux avec le développement iOS.
Mon conseil le plus important ? Prends ton temps pour la première app. Comprendre le système Apple maintenant te fera gagner des jours sur tes prochains projets. Et n'hésite pas à recommencer si quelque chose ne fonctionne pas : j'ai supprimé et recréé mes premiers certificats trois fois avant de comprendre.
La prochaine fois que tu verras une app sur l'App Store, tu sauras tout le boulot qui se cache derrière ce simple bouton "Télécharger".
Tags
A lire aussi
Jongler avec 6 clients à la fois sans rien laisser tomber
Gérer six projets clients en solo sans échapper une démo ni brûler ses weekends tient à quatre habitudes simples : une revue du lundi, un canal unique par client, trois signaux d'alarme et un tableau de capacité honnête. Voici le système, et pourquoi il tue l'anxiété du dimanche soir.
React + TypeScript : mon stack par défaut, sans exception
Un écran blanc en prod à cause d'une réponse API qui a changé de forme : le genre de bug que TypeScript rend impossible à écrire. Pourquoi React et TypeScript sont devenus mon point de départ non négociable, avec la config exacte que je réutilise sur chaque projet.
Comment j'automatise mon workflow de développement web (et ce que je garde manuel)
Après deux ans en solo, j'ai appris que l'automatisation ne sauve personne du burnout si elle attaque les mauvaises tâches. Voici ce que j'automatise sans hésiter (tests, CI/CD, formatage), ce que je refuse de déléguer, et la grille de décision que j'applique à chaque tâche répétitive.

