Symptôme : Unity génère le projet iOS, mais vous n’avez aucun Mac pour le compiler, le signer et vérifier son installation.

Solution la plus rapide : choisissez Unity Build Automation si la version de Unity et celle de Xcode requise figurent dans sa liste officielle et si votre pipeline est reproductible ; choisissez un Mac à distance si vous devez inspecter Xcode, corriger des plugins ou garder la main sur la signature. Pour Xcode 27, vérifiez d’abord son statut officiel et sa disponibilité dans le service, puis testez un projet représentatif au moindre doute.

Cet article s’adresse aux développeurs indépendants qui préparent la publication d’un jeu Unity pour iOS sans Mac local. Il concerne aussi les projets avec plugins natifs ou scripts d’export personnalisés, ainsi que les petites équipes qui doivent répartir compilation, débogage et validation de signature.

Dernière vérification : 10 octobre 2026. Sources contrôlées : documentation Unity sur le processus iOS et les versions Xcode disponibles, ainsi que notes de publication Apple. Vérifiez de nouveau ces pages avant toute livraison, car leur contenu peut évoluer.

Vérifiez la disponibilité de la compilation iOS Unity avec Xcode 27

La publication repose sur deux opérations distinctes : Unity génère un projet Xcode, puis Xcode produit l’application iOS. La documentation Unity décrit ces deux étapes et distingue la génération du projet de sa compilation dans Xcode (processus de construction iOS de Unity). Par conséquent, réussir à exporter le projet depuis Windows ou Linux ne prouve pas que vous pouvez produire le fichier final sans environnement macOS.

Pour décider si le cloud peut prendre le relais, contrôlez séparément la version Unity du projet, la version Xcode disponible dans le service et les étapes spécifiques que votre jeu exige. Unity publie une liste des versions Xcode accessibles dans Unity Build Automation ; consultez-la directement plutôt que de supposer qu’une version récente est disponible (liste officielle des versions Xcode disponibles). La disponibilité dans cette liste est un critère de départ, pas une garantie que chaque personnalisation du projet fonctionnera.

À la date indiquée ci-dessus, la page Apple fournie pour Xcode 27.1 est consacrée à une version candidate, ou RC (notes de publication Apple pour Xcode 27.1 RC). Ne présentez donc ni cette version candidate comme une version stable, ni Xcode 27 comme pris en charge dans Unity Build Automation sans confirmation explicite de la liste officielle. L’état du logiciel Apple et la disponibilité dans un service cloud sont deux vérifications différentes.

Procédure de contrôle avant de choisir :

  1. Relevez la version de Unity, les modules iOS installés et les réglages d’export utilisés par votre projet.
  2. Consultez la liste Unity des versions Xcode disponibles et notez si la version nécessaire est explicitement indiquée.
  3. Vérifiez les notes de publication Apple pour distinguer version candidate et version stable.
  4. Exportez un projet représentatif, avec ses plugins et scripts réels, plutôt qu’un projet vide.
  5. Si la version ou une étape requise n’est pas confirmée, essayez la compilation sur un Mac avec la version Xcode visée avant de baser votre livraison sur le cloud.

Cette vérification répond aussi à la question de la prise en charge de Xcode 27 : si la liste Unity ne l’indique pas clairement, la bonne conclusion est « compatibilité non confirmée », pas « compatible parce que Xcode 27 existe ».

Contrôlez ce que le service peut faire au projet Xcode généré

Unity génère une structure de projet que vous pouvez ensuite ouvrir et modifier dans Xcode. La documentation décrit les éléments de cette structure, notamment les fichiers et réglages qui participent au projet iOS (structure du projet Xcode généré par Unity). Pour votre décision, le point déterminant n’est pas seulement que le service sache compiler iOS : il faut établir s’il reproduit les changements appliqués après l’export.

Avec un flux cloud prédéfini, vous gagnez une chaîne automatisée pour les compilations répétées, mais vous devez prouver que les étapes nécessaires à votre projet y sont exécutées dans le bon ordre. Un Mac à distance vous donne la possibilité d’ouvrir le projet généré, de contrôler les réglages visibles dans Xcode et d’examiner les journaux sur place. Cette liberté ne corrige pas automatiquement le projet ; elle facilite l’inspection et l’isolement du problème.

Examinez notamment les points suivants :

  • Réglages après export : comparez les paramètres Xcode attendus avec ceux réellement produits par l’export Unity.
  • Scripts de post-traitement : vérifiez s’ils modifient le projet après la génération et si ces modifications sont reproductibles dans le service choisi.
  • Échec de compilation : conservez le premier message d’erreur utile et les journaux associés. Un résultat « échec » sans accès aux détails ne suffit pas à identifier la cause.
  • Reproduction : relancez le même export avec la même version Unity, les mêmes dépendances et les mêmes réglages avant de comparer les résultats.

Unity documente la possibilité d’exécuter des scripts personnalisés pendant le processus de compilation de Unity Build Automation (exécution de scripts personnalisés dans Unity Build Automation). Cela établit l’existence d’un mécanisme d’extension, mais ne garantit pas que votre script, ses dépendances ou chaque modification Xcode fonctionneront sans adaptation. Testez-les dans un environnement représentatif.

Cas concret : vous exportez depuis Unity, puis un script ajoute une capacité iOS ou modifie un réglage de compilation. Si le fichier généré ne contient pas cette modification sur le service cloud, cherchez d’abord si le script est bien exécuté et si son résultat correspond à l’export local. Attribuer immédiatement l’erreur à Unity masquerait peut-être une étape de post-traitement manquante.

Évaluez les plugins natifs avant de transférer la compilation

La présence d’un plugin iOS natif ne disqualifie pas automatiquement le cloud. Elle augmente toutefois le nombre de points à vérifier : framework externe, réglages Xcode particuliers, scripts d’export, dépendances ou code qui doit être débogué dans Xcode. La bonne décision dépend de la capacité à automatiser et reproduire ces opérations, pas de l’étiquette « plugin » à elle seule.

Le cloud est un candidat raisonnable si :

  • le plugin est déjà intégré dans le projet Unity et l’export produit une structure conforme ;
  • les réglages supplémentaires sont appliqués par un script reproductible ;
  • votre équipe peut accéder aux journaux utiles en cas d’échec ;
  • un essai complet confirme la compilation avec les versions et dépendances prévues.

Préférez d’abord un Mac à distance si :

  • vous devez examiner ou modifier à plusieurs reprises les fichiers générés ;
  • la compilation échoue dans une étape native que vous ne parvenez pas à isoler ;
  • vous avez besoin d’ouvrir Xcode pour parcourir les réglages ou déboguer le code du plugin ;
  • le script de post-traitement change fréquemment ou n’est pas encore stabilisé.

Unity documente aussi le réglage de configurations Fastlane pour les compilations iOS de son service (personnalisation de Fastlane pour les compilations iOS). Cette possibilité peut convenir à un flux de livraison automatisé, mais elle ne remplace pas la vérification du contenu réellement généré ni l’analyse d’un échec natif.

Si l’export échoue, comparez les résultats avant d’accuser le moteur : produisez le projet avec la version Unity prévue, ouvrez-le avec la version Xcode attendue sur un Mac, puis vérifiez séparément le plugin et le script de post-traitement. Si cette reproduction échoue également, la cause n’est probablement pas propre au service cloud. Si elle réussit sur Mac mais pas dans le cloud, examinez les différences d’environnement et d’exécution des scripts.

Séparez compilation, signature et validation sur appareil

Une compilation terminée n’équivaut pas à une application signée prête à distribuer. Gardez distincts le résultat de compilation, la signature iOS, l’installation sur un appareil de test et la remise à App Store Connect. Ces contrôles répondent à des questions différentes : le binaire a-t-il été produit, est-il associé aux bons éléments de signature, démarre-t-il sur l’appareil visé, et le flux de livraison a-t-il atteint son objectif ?

Unity explique comment signer une application iOS avec son service (signature d’une application iOS dans Unity Build Automation). Que les éléments soient gérés dans un flux cloud ou sur un Mac à distance, vérifiez leur correspondance avec le projet : Bundle ID, certificat et profil de provisionnement. Ne confiez pas les identifiants de publication sans clarifier qui peut les utiliser, les remplacer et les révoquer. Pour un essai, utilisez un projet de test et évitez d’y exposer des secrets de production.

Après la signature, contrôlez l’installation sur un appareil enregistré. Apple décrit la distribution d’une application à des appareils enregistrés et les conditions associées (distribution aux appareils enregistrés dans la documentation Apple). Téléchargez l’artefact, installez-le, vérifiez que l’application démarre et examinez les journaux si elle échoue. Si vous ne disposez d’aucun appareil de test, planifiez une autre voie de validation : la réussite du service de compilation ne peut pas tenir lieu de test d’installation.

Pour chaque livraison, consignez au minimum les résultats séparés de ces contrôles :

  • l’export Unity contient les changements attendus ;
  • Xcode a terminé la compilation sans erreur ;
  • la signature correspond au Bundle ID et au profil prévus ;
  • l’application s’installe et démarre sur l’appareil de test ;
  • le transfert vers App Store Connect a été réalisé si cette étape fait partie de votre procédure.

Le cloud peut produire une compilation de manière répétable sans offrir, à lui seul, un environnement où vous inspectez interactivement le projet et déboguez sur appareil. Inversement, une session Mac à distance permet d’intervenir dans Xcode, mais vous devez quand même organiser l’installation et le contrôle sur un appareil.

Questions fréquentes sur Unity et la livraison iOS sans Mac

Comment préparer une publication iOS avec Unity si je n’ai pas de Mac ?

Vous pouvez travailler sur le projet Unity sans Mac, mais l’export du projet Xcode et la production de l’application finale sont deux opérations différentes. Confiez la seconde à Unity Build Automation si ses versions disponibles conviennent ; sinon, utilisez un Mac à distance pour ouvrir le projet dans Xcode. Dans les deux cas, prévoyez une vérification de signature et un essai d’installation.

Comment décider si Unity Build Automation accepte Xcode 27 ?

Consultez sa liste de versions Xcode disponibles au moment de configurer le pipeline, puis comparez-la aux notes Apple. Une version candidate ne prouve pas que la version stable est publiée ou prise en charge par Unity. Si le numéro requis n’est pas explicitement confirmé, effectuez un essai sur un Mac avant de dépendre du service pour livrer votre jeu.

Un projet avec un plugin iOS natif doit-il forcément être compilé sur Mac ?

Non. Un plugin peut fonctionner dans un flux cloud si l’export, les frameworks et les scripts nécessaires sont bien pris en charge et reproductibles. Pour le vérifier, faites une compilation représentative avec les paramètres réels. Si vous devez modifier souvent le projet Xcode ou déboguer le code natif de façon interactive, le Mac à distance est généralement plus adapté au diagnostic.

Quels contrôles effectuer sur une compilation Unity iOS avant de la livrer ?

Contrôlez la correspondance entre Bundle ID, certificat et profil de provisionnement, puis installez l’application sur un appareil enregistré et confirmez son démarrage. Traitez séparément l’étape App Store Connect. Un artefact téléchargeable prouve qu’un fichier a été produit ; il ne démontre ni son installation réussie ni la fin de sa distribution.

Choisissez le flux selon le contrôle dont vous avez besoin

Option À privilégier lorsque… Points à vérifier Repli si le contrôle échoue
Unity Build Automation en priorité Vous voulez automatiser des compilations répétées et les versions Unity et Xcode nécessaires sont explicitement disponibles. Scripts après export, plugins, accès aux journaux, signature et installation de l’artefact. Reproduisez le projet sur un Mac avec la version Xcode visée, puis corrigez le pipeline ou changez d’environnement.
Mac à distance en priorité Vous devez ouvrir Xcode, examiner le projet, déboguer un plugin ou garder la maîtrise directe des étapes de signature. Disponibilité de Xcode, accès au dépôt, stockage des identifiants et accès à un appareil de test. Réduisez les étapes manuelles et automatisez celles qui sont stables ; évaluez un Mac local si la charge est durable.
Répartition cloud et Mac Le cloud convient aux compilations régulières, mais les diagnostics, les modifications natives ou les essais nécessitent un poste interactif. Décidez quelle étape appartient à chaque environnement et conservez une méthode de reproduction cohérente. Si la version cloud n’est pas prise en charge ou si un résultat ne se reproduit pas, effectuez l’étape concernée sur le Mac.

Cette comparaison ne dépend pas d’un tarif ou d’une durée de compilation supposés. Évaluez plutôt la fréquence de vos livraisons, le temps consacré à diagnostiquer un échec, les mises à jour de Xcode que vous devez gérer et la personne responsable des certificats. Un service cloud réduit la gestion d’une machine locale, mais vous devez vérifier ses versions et comprendre ses limites d’accès. Un Mac à distance donne un contrôle interactif, mais demande de gérer la session, les accès et la sécurité des identifiants. Pour un usage continu et intensif, comparez aussi le coût et la maintenance d’un Mac que vous possédez ; pour un besoin ponctuel, une machine louée peut éviter un achat dédié.

Avant de lancer votre prochain cycle de publication : si Unity Build Automation confirme les versions nécessaires et que votre export, vos plugins, vos scripts et votre signature passent un essai représentatif, automatisez les compilations répétées. Si vous devez encore ouvrir le projet Xcode, corriger un plugin ou vérifier manuellement les éléments de signature, commencez par un Mac à distance. Le cloud peut laisser moins de prise sur les fichiers générés et les diagnostics ; un poste local dédié, lui, suppose un achat et une maintenance qui ne se justifient pas forcément pour un besoin temporaire.

Vous pouvez examiner l’option Mac mini à distance de MACCOME pour établir votre environnement de contrôle, puis comparer les solutions Mac à distance de MACCOME à votre durée réelle d’utilisation. Si votre équipe compile longtemps et de façon stable, un Mac acheté peut être plus cohérent ; si vous devez surtout valider Xcode 27, inspecter un export Unity ou résoudre un problème de signature avant une livraison, la location d’un Mac fournit un environnement macOS interactif sans imposer l’achat immédiat d’une machine dédiée.