Oui, vous pouvez compiler une app React Native iOS et la publier sur l'App Store sans posséder de Mac. Vous écrivez chaque écran et chaque ligne de JavaScript ou de TypeScript sur Windows ou Linux, et un environnement macOS dans le cloud gère les trois étapes qui exigent vraiment l'outillage d'Apple : compiler le build, le signer et le soumettre à l'App Store. Pour la plupart des équipes React Native, la voie sans Mac la plus rapide est Expo avec EAS Build, mais ce n'est pas la seule. Ce guide sépare ce qui a réellement besoin d'un Mac de ce qui n'en a pas besoin, et compare les vraies options pour 2026.
Avez-vous vraiment besoin d'un Mac pour compiler une app React Native iOS ?
Non, vous n'avez pas besoin de posséder un Mac, mais il vous faut macOS quelque part dans la chaîne. Il est utile de découper une publication iOS en trois étapes. Le développement, c'est écrire votre JavaScript ou TypeScript, construire l'interface avec les composants React Native et exécuter votre logique métier, et tout cela se fait sur Windows ou Linux avec Node et l'outillage React Native. Le build, c'est transformer ce projet en fichier .ipa signé, ce qui exige l'outillage Xcode d'Apple et donc une machine macOS. La publication, c'est envoyer le build vers App Store Connect et le soumettre à la review, depuis macOS ou un service qui parle à Apple pour vous. Seuls le build et la publication touchent macOS, et les deux peuvent tourner sur une machine cloud que vous ne possédez jamais physiquement.
Expo ou React Native bare change-t-il la voie sans Mac ?
Cela change la quantité de choses que vous assemblez vous-même, pas la faisabilité. Expo avec EAS Build est la voie sans Mac la plus fluide : vous lancez eas build --platform ios depuis Windows ou Linux, et Expo compile votre app sur ses propres machines macOS hébergées, gère vos certificats et profils de provisioning, et vous renvoie un .ipa signé. Un projet React Native bare créé avec le React Native CLI a besoin du même build macOS quelque part, mais vous avez plus de choix : EAS Build prend aussi en charge les projets bare, ou vous pouvez pointer une CI cloud comme Codemagic, Bitrise ou un runner macOS de GitHub Actions vers votre dépôt. Le modèle mental est le même dans les deux cas. Votre ordinateur reste sur Windows ou Linux, et un Mac distant fait le travail Xcode.
- Projets Expo managés ou dev-client : EAS Build est la valeur par défaut, et il gère la signature et l'envoi avec presque aucune configuration.
- Projets React Native bare : utilisez EAS Build pour les workflows bare, ou une CI cloud où vous maîtrisez le script de build et les étapes de signature.
De quoi avez-vous besoin avant de commencer ?
Avant que l'outillage sans Mac n'entre en jeu, quelques éléments doivent être en place. Aucun n'exige de matériel Apple, mais l'un d'eux coûte de l'argent.
- Une adhésion active à l'Apple Developer Program. Elle coûte 99 dollars US par an et est obligatoire pour signer des apps et publier sur l'App Store.
- Un projet React Native qui compile et tourne déjà sur un appareil ou un émulateur Android. Corrigez vos erreurs JavaScript et de dépendances natives avant d'ajouter iOS.
- Une fiche d'app dans App Store Connect, avec un identifiant de bundle unique comme com.votresociete.votreapp.
- Un endroit pour lancer le build macOS : Expo EAS, un service de CI cloud, un Mac loué ou une plateforme managée. Les sections suivantes les comparent.
Pourquoi la signature de code iOS est-elle le vrai point bloquant ?
La signature de code est l'étape qui bloque la plupart des développeurs sans Mac, pas le build lui-même. Apple exige que chaque app iOS soit signée avec deux choses : un certificat de distribution qui prouve votre identité, et un profil de provisioning qui relie votre certificat, l'identifiant de votre app et vos appareils autorisés. Historiquement, les deux étaient générés dans Xcode sur un Mac, et c'est précisément pour cela que se passer de Mac semble bloqué ici. La bonne nouvelle, c'est que les certificats et les profils ne sont que des fichiers, et qu'ils peuvent être créés et gérés sans jamais ouvrir Xcode. Vous avez trois voies pratiques : laisser Expo EAS les générer et les stocker pour vous, laisser un service de build cloud les créer via l'API Apple, ou les automatiser avec fastlane match, qui garde une copie chiffrée dans un dépôt git privé et la réutilise sur n'importe quelle machine. Dans tous les cas, la signature cesse d'être un rituel Xcode manuel.
- Signature managée par Expo : EAS crée et stocke votre certificat et votre profil et les réutilise à chaque build. Effort minimal pour les équipes React Native.
- Signature managée par CI : un service cloud crée et renouvelle les identifiants via l'API Apple. Peu d'effort, lié à ce fournisseur.
- fastlane match : vos certificats vivent chiffrés dans un dépôt git privé et sont récupérés dans n'importe quel build. Plus de configuration, entièrement reproductible entre outils.
Quelles sont vos options pour compiler une app React Native iOS sans Mac ?
Il existe quatre voies réalistes en 2026. Elles arbitrent entre le coût et la quantité de pipeline que vous devez configurer vous-même. Voici une comparaison honnête.
- Expo EAS Build : la voie sans Mac par défaut pour React Native. Lancez une seule commande, et Expo compile sur du macOS hébergé, gère la signature et peut soumettre à l'App Store avec eas submit. Fonctionne avec les projets managés et bare. Idéal pour la plupart des équipes qui veulent publier sans gérer de pipeline.
- CI cloud (Codemagic, Bitrise) : des machines de build macOS hébergées, pensées pour le mobile, avec un support React Native et des aides à la signature. Vous devez quand même écrire et maintenir une configuration de build. Idéal pour les équipes qui veulent du contrôle, des étapes natives personnalisées et une CI reproductible.
- Runners macOS de GitHub Actions : lancez votre build iOS sur du matériel Apple dans votre workflow GitHub existant. Le moins cher à faible volume, mais vous assemblez vous-même les étapes pod install, build, signature et envoi. Idéal pour les développeurs déjà installés sur GitHub.
- Une plateforme de publication managée (Releasely) : vous envoyez votre build ou connectez votre projet dans un espace de travail web, et la plateforme gère le build iOS, la signature de code et la soumission à l'App Store pour vous. Aucun fichier de CI à maintenir et aucun macOS à configurer. Idéal pour les développeurs qui veulent publier, pas gérer un pipeline.
Comment passer d'un projet React Native à l'App Store, étape par étape ?
Voici le parcours de bout en bout, avec une note sur l'endroit où chaque étape se déroule, pour toujours savoir ce qui a besoin de macOS et ce qui n'en a pas besoin. Si vous voulez d'abord peser toutes les options, voyez notre comparatif des outils de publication. Le flux est proche de la version Flutter de ce guide ; seule la commande de build change.
- Vérifiez que votre projet React Native compile et tourne proprement sur votre machine, sous Windows ou Linux, sur Android.
- Inscrivez-vous à l'Apple Developer Program, puis créez la fiche d'app et le bundle ID dans App Store Connect, depuis n'importe quel navigateur.
- Définissez votre numéro de version et de build avant de lancer le build, dans app.json pour Expo ou dans le projet natif pour React Native bare. Notre guide du versioning explique comment garder les deux stores synchronisés.
- Générez ou connectez votre certificat de distribution et votre profil de provisioning, via Expo EAS, un service cloud ou fastlane match, sans Mac.
- Lancez le build iOS pour produire un .ipa signé, sur du macOS cloud plutôt que sur votre machine. Avec Expo, c'est eas build --platform ios.
- Envoyez le .ipa vers App Store Connect et laissez-le se traiter dans TestFlight, via eas submit ou votre service de CI.
- Remplissez votre fiche, vos captures d'écran et vos métadonnées, puis soumettez à la review, depuis n'importe quel navigateur.
Qu'est-ce qui nécessite encore un Mac ou un appareil dans le cloud ?
Être honnête sur les limites vous évite des ennuis. Quelques opérations sont plus difficiles ou impossibles sans accès à macOS ou à un appareil Apple physique.
- Lancer le simulateur iOS. Le simulateur est réservé à macOS, vous ne pouvez donc pas l'utiliser depuis Windows ou Linux. Expo Go et un émulateur Android couvrent la plupart de l'itération au quotidien à la place.
- Le débogage en direct sur un iPhone physique depuis votre éditeur attend généralement un Mac, même si TestFlight vous permet d'installer et de tester des builds sur votre propre appareil sans Mac.
- Les modules natifs avec des étapes de build iOS personnalisées, ou les soucis de CocoaPods, peuvent exiger un travail Xcode manuel, mieux réalisé sur un Mac cloud loué.
Pour l'itération au quotidien, la plupart des équipes React Native testent sur Android en local, utilisent Expo Go ou un development build quand c'est possible, et s'appuient sur TestFlight pour tester sur de vrais appareils iOS.
Peut-on publier sur l'App Store directement depuis Windows ?
Oui. Vous écrivez et gérez tout depuis Windows, et le build iOS et l'envoi réels tournent sur un environnement macOS cloud. Avec Expo EAS, ce sont deux commandes, eas build et eas submit, et avec une plateforme managée, cela peut se résumer à un seul envoi. Aucun matériel Apple n'est impliqué de votre côté.
Faut-il payer pour les builds iOS dans le cloud ?
Généralement oui, sous une forme ou une autre. Expo EAS, les services de CI cloud et les Mac loués facturent aux minutes de build, au palier ou à l'heure, et une plateforme managée intègre le coût dans son offre. Expo et GitHub Actions offrent tous deux des minutes gratuites limitées qui peuvent couvrir un très faible volume. Le seul coût incontournable est l'Apple Developer Program, à 99 dollars par an.
Compiler des apps iOS sans Mac est-il contraire aux règles d'Apple ?
Non. Apple exige que les apps iOS soient compilées et signées avec son outillage, mais n'exige pas que vous possédiez le Mac qui l'exécute. Utiliser le macOS hébergé d'Expo, une machine de CI cloud ou un service managé est parfaitement conforme, et c'est pour cela que tous les grands fournisseurs de build React Native le proposent.
Peut-on tester une app React Native sur un vrai iPhone sans Mac ?
Oui, via TestFlight. Une fois votre build traité dans App Store Connect, vous pouvez l'installer sur n'importe quel iPhone depuis l'app TestFlight et tester le vrai build iOS. Pendant le développement, Expo Go et les development builds vous permettent aussi de prévisualiser sur un appareil. Ce que vous ne pouvez pas faire sans macOS, c'est lancer le simulateur iOS ou attacher un débogueur natif depuis votre éditeur.
Écrit par
Nicolas développe Releasely et écrit sur la soumission à l'App Store, l'ASO et la publication d'apps Flutter et React Native sur l'App Store et Google Play.