Je ne peux pas me débarrasser de cette erreur!
J'ai essayé toutes sortes de choses comme effacer les données dérivées (Préférences-> Emplacements-> cliquez sur la flèche grise pour ouvrir le dossier Données dérivées dans le Finder-> clic droit, déplacer vers la corbeille), nettoyer le projet (CMD + Shift + K ou Produit -> Clean), mise à jour de carthage et des dépendances, vérification d'autres réponses sur StackOverflow (principalement des ajustements dans les paramètres / phases de construction), et reclonage de l'application à partir de github, etc.
Le même projet fonctionne sur les ordinateurs de mes collaborateurs.
EDIT: À partir de la réponse actuelle la mieux notée, j'ai pu déboguer un peu plus loin ... Je ne sais toujours pas comment résoudre le problème. Il semble que j'ai quelque chose dans le projet deux fois? J'ai regardé et je ne trouve rien qui apparaisse deux fois!
Réponses:
J'étais confronté au même problème aujourd'hui dans la version 8.3.2 de xcode 8
clic droit sur le problème -> révéler dans le journal
alors vous êtes en mesure de vérifier ce qui cause ce problème
la source
Peut-être que vous avez installé un fichier pod et que vous essayez toujours de créer à partir du
.xcodeproj
fichier au lieu de.xcworkspace
la source
.xcodeproj
depuis plus d'un an .. Quelque chose d'aussi simple!la seule chose qui a fonctionné pour moi était de courir
pod deintegrate
etpod install
la source
avez-vous essayé un nettoyage? cmd + shift + k
la source
D'accord ... Voici donc ce qui a résolu mon problème ...
dans le fichier de délégué d'application:
J'avais déjà importé Credentials.h dans le fichier DarkSkyAPI.m de mon projet. Commenter l'importation supplémentaire a fait disparaître l'erreur!
Certaines choses à mentionner et peut-être aider n'importe qui dans le futur. La réponse de @ umairqureshi_6 m'a aidé tout au long du processus, mais ne l'a pas résolu. Il m'a conduit à l'endroit où j'ai pu trouver les informations. Je n'arrêtais pas de voir des fichiers AppDelegate et DarkSkyAPI apparaître dans le journal des erreurs et les informations qu'il tirait du fichier Credentials étaient à l'origine de l'erreur. Je savais qu'il devait être dans l'un de ces 3 fichiers, alors j'ai immédiatement vérifié les importations, car je me souvenais avoir entendu dire que le .h transportait toutes les importations de son fichier .m. Boom!
la source
Je k maintenant que la question a déjà reçu une réponse. Mais si cela permet à quelqu'un de gagner du temps: j'ai eu la même erreur. J'ai tout vérifié pour trouver une toute petite et stupide erreur de mon côté. J'ai importé un fichier personnalisé ManagedObject de données de base dans un contrôleur de vue de mon projet. J'ai accidentellement importé le fichier .m au lieu du fichier .h qui causait le symbole en double dans une erreur d'architecture (la commande de l'éditeur de liens a échoué) parce que mon fichier .m de la classe de propriétés importe le fichier .h de la classe de données de base et provoque ainsi une importation en double.
Vérifiez donc si vous avez importé les bons fichiers avant d'essayer plusieurs solutions.!
la source
De nombreuses solutions sont mentionnées ci-dessus. Personne n'a travaillé pour moi (mais essayez d'abord ci-dessus).
Sélectionnez Projet -> Sélectionner la cible -> Framework et bibliothèques liés -> Ajouter toutes les bibliothèques de pod. (à supprimer s'ils existent dans les binaires incorporés)
Supprimez-les maintenant du dossier Framework dans l'explorateur de fichiers de gauche de xcode.
Cela a résolu mon problème.
la source
Sélectionnez le projet-> Phase de construction-> Lier le binaire avec les bibliothèques et ajoutez toutes les bibliothèques de pod.
la source
J'ai eu le même problème en utilisant Carthage pour les dépendances.
Allez simplement dans Sélectionner un projet -> Paramètres de construction -> Rechercher Activer le bitcode -> S'il est sélectionné sur Oui, sélectionnez Non.
Cela a résolu ce problème pour moi.
la source
J'ai eu le même problème.
La cause était que j'ai déclaré la même variable globale dans 2 fichiers . Donc, il montrait la même erreur en disant 2 symboles en double .
La solution était de supprimer ces variables.
la source
Pour toute personne ayant ce problème avec le framework Flurry. C'est ce qui a résolu mon problème. Pour moi, le problème était que j'avais importé les fichiers suivants mais ne les ai jamais utilisés. "libFlurryTVOS_9.2.3" "libFlurryWatch_9.2.3"
Donc, tout ce que j'avais à faire était d'aller dans les paramètres de la cible du projet et de supprimer ces 2 fichiers de la section "Cadre lié et bibliothèques" et le problème a été résolu.
la source
Dans mon cas, la raison de l'erreur est la bibliothèque qui a été liée deux fois.
J'utilise
react-native
donc il a été lié automatiquement en utilisantreact-native link
et manuellement dans xcode.la source
Assurez-vous que la
Find Implicit Dependencies
case est cochée.(Produit -> Schéma -> Modifier le schéma -> Construire -> Rechercher les dépendances implicites)
la source
Je testais le framework Sparkle avec CocoaPods.
Malheureusement, j'ai mis
pod 'Sparkle', '~> 1.21'
le PodFile au mauvais endroit. Je l'ai mis sous Test (pour les tests unitaires).Une fois placé au bon endroit dans PodFile, tout va bien.
la source
J'avais juste à faire
import Foundation
!J'utilisais Kitura pour le côté serveur Swift et j'oublie toujours ça!
la source
Voici mon problème et ma solution:
J'ai supprimé deux fichiers du code source à l'aide de l'arborescence des sources (contrôleur de version). Après avoir appliqué le diff, qui contient les deux classes que j'ai supprimées, Xcode ne l'a pas ajouté automatiquement. J'ai donc eu une erreur de l'éditeur de liens.
J'ai ajouté manuellement les fichiers, par un clic droit sur le nom du groupe et sélectionnez "Ajouter des fichiers à". Maintenant, mon erreur a été résolue.
Si quelqu'un a rencontré l'erreur de l'éditeur de liens concernant le fichier de classe, essayez de l'ajouter manuellement.
la source
Je n'ai pas eu ce problème lorsque j'ai construit et exécuté sur mon propre appareil. Seulement eu ce problème avec les simulateurs. J'ai simplement redémarré mon ordinateur et l'ai exécuté. Ça a marché.
la source
Dans mon cas, j'ai changé le
Target
nom dans monPodfile
donc c'est créer la même erreur pour moi.Allez simplement
project-> Build Phase->Link Binary with libraries
Supprimer l'ancienFrameWorks
en cliquant surminus button(-)
Et nettoyer et exécuter à nouveau. Ça marche moi.Supprimer les indésirables
.framework
.la source
Les autres réponses n'ont pas fonctionné pour moi, alors je partage ma solution au cas où cela pourrait aider quelqu'un d'autre:
Mon problème était que je configurais le Podfile de mon XCode-Project pour la mauvaise plate-forme. Changer "platform: ios" au début de mon Podfile en "platform: macos" m'a aidé à me débarrasser de l'erreur.
la source
J'ai eu le même problème. Si vous extrayez un projet github, alors au lieu d'utiliser git clone, utilisez git lfs clone, car parfois, certains fichiers volumineux ne sont pas correctement clonés en utilisant uniquement git. Assurez-vous également que votre bitcode est désactivé.
la source
Pour moi, le fichier de verrouillage de gemme spécifiait une version plus ancienne des cocoapodes que celle que j'avais installée. J'ai dû re-branchement et courir
bundle exec pod install
au lieu depod install
la source
Il semble que le problème soit différent pour la plupart d'entre nous, et le message d'erreur contient des informations correctes. Dans mon cas, l'objectif de déploiement était défini
10.13
par laexport MACOSX_DEPLOYMENT_TARGET=10.13
ligne, mais j'étais en cours d'exécution10.14
. J'ai donc dû basculer ma cible de déploiement sur10.14
dans Général> Informations de déploiement, pour que les symboles liés à ITLibrary soient à nouveau disponibles.la source
Dans mon cas, je produisais plusieurs produits à partir du même projet. Pour l'un des produits, le
main.m
fichier a importé un fichier d'en-tête d'un autre dossier sous le même projet. Mais ce fichier n'était pas inclus dans "Sources conformes" sous "Phase de construction". Cela a provoqué une erreur de l'éditeur de liens.Après avoir soigneusement comparé les paramètres "Build Phases" pour un produit qui pourrait être construit avec succès, j'ai réalisé que le
.m
fichier de l'en-tête doit être inclus dans la liste de "Compiled Source". Mon problème a été résolu après l'ajout de ce fichier. Joindre une image pour plus de clarté. Le fichier en surbrillance a dû être ajouté.la source
J'ai eu les mêmes problèmes en créant un projet Ionic 1.
J'ai pu résoudre le problème après avoir supprimé le fichier CDVLogger.h & CDVLogger.m
la source
Ok, j'ai eu le même problème aujourd'hui et j'ai commencé à le googler, quand je suis tombé sur ce fil. Je n'ai pas fini de lire la question lorsque la réponse m'a frappé: j'ai déclaré une classe avec un constructeur vide
Ensuite, j'ai pensé pourquoi ne pas terminer (je ne sais pas si je suis correct avec la sélection de mots ici, mais qu'importe) le constructeur de ma classe avec des accolades (
{}
). Alors j'ai fait:Le problème éliminé, mon code a commencé à fonctionner parfaitement.
Je sais, la bonne pratique consiste à enquêter sur le problème et à trouver la vraie cause, mais cela a fonctionné pour moi.
la source