web-dev-qa-db-fra.com

Erreur Apple Mach -O Linker (Id)?

J'essaie de construire cet espace de travail xcode qui a été construit à partir de Unity. Et après avoir légèrement modifié le projet lorsque je suis arrivé à la fin de la construction du projet (liaison), je reçois l'erreur Apple Mach -O Linker (Id). Je ne peux pas ouvrir l'onglet d'erreur pour voir ce qui cause exactement l'erreur. Tout ce qu'il dit est "La commande de l'éditeur de liens a échoué avec le code de sortie 1 (utilisez -v pour voir l'invocation). Il existe également deux erreurs Apple Mach -O Linker (Id) qui se produisent mais je ne sais pas comment les résoudre.

Toute aide est grandement appréciée!

Je ne peux pas développer ces onglets .. c'est tout ce que l'on me ditIl s'agit de l'onglet d'avertissement développé, les deux avertissements Apple Mach -O Linker (Id) sont les mêmes

16
Brett A

Ce problème a différentes solutions, l'une d'elles est de définir Enable Bitcode sur No. (Je ne sais pas pourquoi par default c'est Yes

 enter image description here

Ce problème est un problème de type fantôme. Effacement du cache, redémarrage de Xcode, Simulator et MAC, liaison correcte des cadres, modification de l'architecture des applications ou, parfois, ne rien faire peut résoudre ce problème.

15
roy

Ce problème était lié à "Link Binary With Libraries". J'ai renommé la cible et il y avait deux fichiers .framework pour les pods. Ainsi, après avoir supprimé celui qui est obsolète - le problème a été résolu .  enter image description here

7
Naloiko Eugene

Si vous venez d'installer/de désinstaller un pod, vous voudrez peut-être examiner ceci. Voici ce qui a fonctionné pour moi: 

  1. Tout d’abord, assurez-vous d’ouvrir le fichier .xcworkspace et non le .xcodeproj. Mais ce n'est probablement pas ce qui cause le problème.

  2. Supprimez le pod récemment installé.

  3. Dans le répertoire du projet sur Xcode, ouvrez le dossier frameworks et si le pod qui vient d'être supprimé y est toujours répertorié comme un fichier récemment supprimé, il est également supprimé. Cette étape est ce qui a finalement fait que mon projet se compile.

4
Loup G

Une autre cause possible est si vous renommez l'une de vos cibles (pourquoi ai-je fait cela?) Et que vous utilisez des pods. Vous vous retrouvez avec une version de votre ancien nom de cible dans le dossier Frameworks de votre projet principal (pas le projet Pods), comme pods_oldtarget_framework, qui n'existe plus.

Supprimez simplement l'ancienne version (ou renommez votre cible avec son original et supprimez la nouvelle), et vous devriez être prêt à partir.

2
Mick Byrne

J'avais le même problème, et résolu par 

  1. installer les derniers CocoaPods
  2. alors pod setup
0
Peter Ye

Pour moi, il manquait des cadres. Essayez de rechercher les erreurs que vous obtenez sur Google et découvrez les infrastructures auxquelles ils appartiennent, puis importez-les dans l'onglet Phases de construction. 

0
Lukebox

J'ai utilisé xcode 9.3 et j'ai eu la même erreur. Mais avec 9.2 ça marche. L’erreur peut être due à des incompatibilités entre les artefacts produits par les deux xcodes. Le projet à l'origine de l'erreur incluait un framework construit avec xcode 9.2

0
Alex Ilie

J'ai ajouté libstdc ++. Tbd à "BuildPhases >> Link Binary With Libraries". Ça marche pour moi.

0
adenizc

Si vous construisez sur mac pour ios dans l'unité, assurez-vous que, dans les paramètres de construction, vous désactivez "Metal Editor Support" sous d'autres paramètres pour la plate-forme ios.

0
Kartik Kanaujia