Solution finale au code d'erreur Xcodebuild 65 dans les versions iOS

Dernière mise à jour: 14/04/2025
Auteur: Isaac
  • L'erreur Xcodebuild 65 est généralement liée à des problèmes de signature, de simulateur ou de configuration de l'environnement.
  • Cela se manifeste de multiples façons, aussi bien dans les développements natifs avec Xcode qu'avec Appium, React Native ou Unity.
  • Il existe de bonnes pratiques qui permettent d'éviter les échecs lors des intégrations continues ou des exécutions locales
  • Examiner les profils d'approvisionnement et les utiliser journaux détaillé aide à mieux identifier l'origine de la panne

Code d'erreur Xcodebuild 65 sur iOS

Lorsque le redoutable code d'erreur 65 apparaît lors de l'exécution de xcodebuild sur iOS ou macOS, que ce soit en environnement de développement local ou d'intégration continue, on a l'impression que tout s'est effondré. C'est une de ces erreurs génériques qui n'indique pas clairement la cause du problème, ce qui la rend particulièrement frustrante.

Cette erreur est fréquente lors de l'utilisation d'outils comme React Native, Xcode, Appium, Unity ou Cordova . Le problème, c'est que Xcode fournit souvent très peu d'informations utiles dans ses journaux, ce qui complique encore la résolution. Mais rassurez-vous, nous allons détailler toutes les causes possibles de cette erreur et comment la corriger dans chaque cas.

Que signifie le code d'erreur 65 de Xcodebuild ?

Explication du code d'erreur 65 dans xcodebuild

Le code d'erreur 65 dans l' outil xcodebuild indique de manière générique qu'un problème est survenu lors de la compilation, des tests, de l'analyse ou de l'archivage du projet . Plus précisément, d'après la documentation technique, cette erreur est liée à des erreurs de saisie de données ou à des conditions inattendues que l'outil ne peut pas gérer.

Tout comme les codes HTTP (tels que 404 ou 200), Ces codes de sortie indiquent ce qui s'est passé mais ils ne donnent pas de détails. Dans ce cas, 65 correspond à une constante définie dans le fichier sysexits.h et sa description est « EX_DATAERR », c'est-à-dire un échec dû à des données incorrectes.

Cela peut avoir de multiples causes, allant d'une erreur de configuration du projet à des problèmes d'autorisation, de signature, de simulateurs non démarrés, de profils de provisionnement manquants, voire d'incompatibilités de versions de dépendances. Si vous souhaitez approfondir la configuration des environnements de compilation, vous pouvez consulter un article sur la compilation sous Ubuntu.

Causes courantes de l'échec de Xcodebuild avec le code 65

Comme observé dans différents environnements tels qu'Appium, Cordova, CircleCI et les projets Xcode natifs, les principales raisons de l'échec sont :

  • Profils de provisionnement expirés ou non configurés.
  • Problèmes liés à la signature de code (Code Sign Identity).
  • Simulateurs non démarrés ou indisponibles au moment de la construction ou des tests.
  • Fichiers de configuration corrompus ou incompatibles (par exemple .xcconfig (mal orthographié).
  • Les étapes de construction intermédiaires échouent, tels que CopyPNG, CodeSign ou ProcessProductPackaging.
  • La concurrence des threads ralentit le démarrage du simulateur dans des environnements CI tels que CircleCI ou Azure Pipelines.
  • Mauvaise utilisation des machines Apple Silicon (M1, M2…) indépendamment des différences architecturales.
  Apple N1 et C1X expliqués : connectivité propriétaire, 5G sub-6 et plus encore

Erreur 65 dans Xcodebuild avec les systèmes CircleCI ou CI/CD

Lors de l'exécution de builds dans des environnements automatisés comme CircleCI, xcodebuild peut échouer si l'environnement n'est pas encore « prêt ». De nombreux développeurs rencontrent l'erreur 65 car le simulateur n'a pas complètement démarré au début du build.

Une astuce recommandée consiste à démarrer manuellement le simulateur au préalable avec la commande :

xcrun instruments -w 'iPhone 7 (10.3)' || sleep 15

Ainsi, le système a le temps de démarrer correctement le simulateur. Même le sleep 15 aide plus tard la commande à renvoyer le code 0 et à ne pas provoquer une autre chaîne d'erreurs.

Il est également utile de dissocier le démarrage du simulateur de l'étape d'acquisition des dépendances afin de mieux comprendre quelle étape du pipeline pose problème. Pour plus d'informations sur l'intégration continue, vous pouvez consulter ce lien concernant Ethereum et le CI/CD.

Erreur 65 dans Appium avec WebDriverAgent

WebDriverAgent et code d'erreur 65 dans Appium

L'erreur 65 survient fréquemment lors de l'exécution de tests avec Appium sur des appareils iOS réels. Elle est généralement due à l'impossibilité de lancer correctement WebDriverAgent , l'outil utilisé par Appium pour communiquer avec l'appareil iOS.

Dans la plupart des cas, cette défaillance est due à :

  • WebDriverAgent n'est pas signé correctement ou ne possède pas de profil de provisionnement valide.
  • Identifiant de bundle incorrect ou qui ne correspond pas au certificat configuré.
  • Version d'Appium incompatible avec WebDriverAgent.

La solution consiste à signer correctement le WDA et à s’assurer qu’il n’y a pas d’erreurs liées aux droits ou à l’identité du signataire. De plus, il est recommandé de supprimer l'application WebDriverAgent de l'appareil et de le redémarrer avant de retester la build. Il peut également être utile d'utiliser l'option showXcodeLog pour des informations plus détaillées sur l'erreur sous-jacente.

Travailler avec React Native et erreur de code 65

Si vous utilisez React Native et que vous rencontrez cette erreur lors du lancement npx react-native run-ios, assurez-vous des points suivants :

  Comment utiliser Handoff sur Apple : un guide complet et pratique

1. Installez correctement les modules

L’une des causes les plus courantes est que les dépendances natives ne sont pas installées correctement. Pour résoudre ce problème :

npx pod-install

Une fois l'opération terminée, vous pouvez relancer le projet. Si vous devez mettre à jour votre environnement, des guides d' installation de Ghostty sous Linux sont disponibles et peuvent s'avérer utiles aux développeurs.

2. Exécutez à partir de Xcode pour des erreurs plus explicites

Lorsque les commandes en ligne de commande ne fournissent pas d'informations utiles, il est préférable d'ouvrir le projet dans Xcode et de le compiler à partir de là. Cela vous permettra de visualiser plus clairement les erreurs liées aux bibliothèques, aux périphériques ou aux configurations.

3. Vérifiez les appareils connectés

Vérifiez si vous avez plusieurs simulateurs actifs et sélectionnez-en un explicitement lors du lancement du projet :

npx react-native run-ios --simulator="iPhone 15 Pro"

4. Réinitialiser les pods

Des conflits entre bibliothèques ou des vestiges de configurations précédentes peuvent provoquer des erreurs. Une réinitialisation permet généralement de résoudre le problème.

cd ios
pod deintegrate
pod cache clean --all
pod setup
pod install

5. Apple Silicon (puces M1, M2, M3)

Les nouvelles puces d'Apple provoquent des erreurs dans les builds si les commandes ne sont pas exécutées sur l'architecture x86. Dans ce cas, essayez ce qui suit :

sudo arch -x86_64 gem install ffi
arch -x86_64 pod install

Unité et erreur 65 lors de l'archivage

Dans les projets créés avec Unity qui sont ensuite exportés en tant que projets Xcode pour être compilés sur iOS, l'erreur 65 peut se produire pendant l'étape de génération. xcodebuild archive. Même si tout est configuré correctement, Xcode peut échouer avec des problèmes dans des étapes telles que :

  • Processus d'emballage des produits
  • CodeSign
  • Valider

Même si les profils et les certificats sont corrects, il peut y avoir des erreurs dans le génération de droits ou des packages intermédiaires. Parfois, il est utile de supprimer le dossier DerivedData, nettoyez les produits dans Xcode et assurez-vous que les versions d'Unity et de Xcode sont compatibles. Pour plus d'informations sur les versions du logiciel, consultez notre article sur Comment connaître la version de Windows 11.

Erreurs sans indice visible : que faire ?

Dans de nombreux scénarios (par exemple, en utilisant Azure Pipelines ou GitHub Actions), l'erreur apparaît sans accompagnement clair dans le journal, même avec l'indicateur --verbose. Dans ces cas :

  Pourquoi l'icône de la batterie de l'iPhone devient-elle jaune ?

1. Augmenter les niveaux de journalisation. Les usages showXcodeLog, -verbose et enregistre des fichiers journaux temporaires pour une analyse en un coup d'œil.

2. Examinez la dernière étape avant la défaillance . Souvent, l'erreur ne se situe pas à l'endroit où la défaillance se produit, mais quelques étapes plus tôt.

3. Essayez de compiler manuellement avec Xcode et vérifiez si l'erreur se produit en dehors de l'environnement automatisé.

Ainsi, vous pourrez déterminer si le problème provient du projet lui-même ou de la configuration de l'environnement. N'oubliez pas que la compréhension des processus de compilation peut contribuer à prévenir les problèmes ; il est donc conseillé de vous renseigner sur les messages d'erreur dans les systèmes.

Comme vous l'avez constaté, le code d'erreur 65 n'a pas une seule signification ; il peut avoir de multiples causes selon le contexte : projets natifs, React Native, Appium, CI/CD, Unity, etc. L'essentiel est de savoir interpréter les journaux , de comprendre le fonctionnement de la signature et de la configuration d'Xcode , et d'adopter les bonnes pratiques telles que la simulation d'environnements réels, l'utilisation de journaux détaillés et le nettoyage des fichiers résiduels . Avec un peu de patience et une approche systématique, cette erreur peut être résolue et cesser d'être un véritable cauchemar qui freine le développement iOS.

numéro de compilation téléphonique
Article connexe:
A quoi sert le numéro de compilation téléphonique ?