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-> cliquer sur la flèche grise pour ouvrir le dossier Données dérivées dans le Finder-> cliquer avec le bouton droit de la souris, passer à la corbeille), nettoyer le projet (CMD + Maj + K ou Produit -> Nettoyer), mettre à jour carthage et ses dépendances, vérifier d'autres réponses sur StackOverflow (principalement des ajustements dans les paramètres de construction/phases), et recloner l'application depuis github, etc.
Le même projet fonctionne sur les ordinateurs de mes collaborateurs.
EDIT: De la réponse actuelle la plus cotée, j’ai pu déboguer un peu plus loin ... Je ne sais toujours pas comment y remédier. On dirait que j'ai quelque chose dans le projet deux fois? J'ai regardé et je ne trouve rien qui apparaisse deux fois!
Peut-être que vous avez installé un fichier pod et que vous essayez toujours de construire à partir du fichier .xcodeproj
au lieu de .xcworkspace
la seule chose qui a fonctionné pour moi a été d'exécuter pod deintegrate
et pod install
avez-vous essayé un nettoyage? cmd + shift + k
Ok ... Alors voici ce qui a résolu mon problème ...
dans le fichier délégué de l'application:
#import "AppDelegate.h"
#import "DarkSkyAPI.h"
//#import "Credentials.h"
J'avais déjà importé Credentials.h dans le fichier DarkSkyAPI.m de mon projet. En commentant l’importation supplémentaire, l’erreur a disparu!
Quelques choses à mentionner et peut-être aider quelqu'un dans le futur. La réponse de @ umairqureshi_6 m'a aidée tout au long du processus, mais ne l'a pas résolue. Il a conduit à l'endroit où j'ai pu extraire l'information. Je n'arrêtais pas de voir les fichiers AppDelegate et DarkSkyAPI apparaître dans le journal des erreurs et les informations extraites du fichier Credentials étaient à l'origine de l'erreur. Je savais qu'il devait figurer dans l'un de ces 3 fichiers. J'ai donc immédiatement vérifié les importations, car je me suis souvenu d'avoir entendu dire que le fichier .h transportait toutes les importations de son fichier. Boom!
Je sais que la question a déjà été posée. Mais si cela aide quelqu'un à gagner du temps:… j'ai eu la même erreur. J'ai tout vérifié pour trouver une très 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 était à l'origine du symbole dupliqué en raison d'une erreur d'architecture (échec de la commande de l'éditeur de liens) car mon fichier .m de classe de propriétés importait le fichier .h de la classe de données principale causant une importation en double.
Il suffit donc de vérifier si vous avez importé les bons fichiers avant d’essayer plusieurs solutions.
Beaucoup de solutions sont mentionnées ci-dessus. Personne n'a travaillé pour moi (mais essayez s'il vous plaît d'abord ci-dessus).
Sélectionnez Projet -> Sélectionnez Cible -> Structure et bibliothèques liées -> Ajouter toutes les bibliothèques de pod. (supprimer s'ils existent dans les fichiers binaires incorporés)
Maintenant, supprimez-les du Dossier Framework dans l'explorateur de fichiers de gauche de xcode.
Cela a résolu mon problème.
Sélectionnez le projet-> Phase de construction-> Lier le binaire avec les bibliothèques et ajoutez toutes les bibliothèques de pod.
Pour tous ceux qui ont ce problème avec le framework Flurry. C’est ce qui a corrigé mon problème… .. Pour moi, le problème était que j’avais importé les fichiers suivants mais ne les avais jamais utilisés .
Donc tout ce que j'avais à faire était d'aller dans les paramètres de cible du projet et de supprimer ces 2 fichiers de la section "Structure et bibliothèques liées" et le problème était résolu.
J'ai eu le même problème en utilisant Carthage pour les dépendances.
Il suffit d'aller dans Sélectionner un projet -> Paramètres de construction -> Rechercher pour activer le code binaire -> S'il est sélectionné à Oui, sélectionnez Non.
Cela a résolu ce problème pour moi.
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 utilisant react-native link
et manuellement dans xcode.
Il me suffisait de faire import Foundation
!
J'utilisais Kitura pour le côté serveur Swift et j'oubliais cela!
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. Je viens tout simplement de redémarrer mon ordinateur et de l'exécuter. Ça a marché.
J'ai eu le même problème.
La cause était que j'ai déclaré même variable globale dans 2 fichiers . Donc, il y avait même erreur en disant 2 symboles en double .
La solution consistait à supprimer ces variables.
Voici mon problème et ma solution:
J'ai supprimé deux fichiers du code source à l'aide de l'arborescence source (contrôleur de version). Après avoir appliqué le diff contenant les deux classes que j'ai supprimées, Xcode ne l'a pas ajouté automatiquement. Donc, j'ai 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.
Je testais le framework Sparkle avec CocoaPods.
Malheureusement, j'ai mis "pod 'Sparkle', '~> 1.21'" dans le fichier PodFile au mauvais endroit. Je le mets sous Testing (pour les tests unitaires).
Une fois placé au bon endroit dans PodFile, tout va bien.
Les autres réponses ne fonctionnaient pas pour moi alors je partage ici ma solution au cas où cela pourrait aider quelqu'un d'autre:
Mon problème était que je configurais le fichier podfile de mon XCode-Project pour la mauvaise plate-forme. Remplacer "plate-forme: ios" au début de mon fichier Podfile par "plate-forme: macos" m'a permis de supprimer l'erreur.
J'ai eu le même problème. Si vous recherchez un projet github, utilisez plutôt git lfs clone au lieu d'utiliser git clone, car certains fichiers volumineux ne sont parfois pas correctement clonés à l'aide de git uniquement. Assurez-vous également que votre bitcode est désactivé.
Dans mon cas, j'ai changé le nom Target
dans ma Podfile
Donc, c'est créer la même erreur pour moi.
Solution
Il suffit d'aller project-> Build Phase->Link Binary with libraries
Supprimer l'ancienne FrameWorks
en cliquant sur minus button(-)
Et nettoyer et exécuter à nouveau. C'est le travail moi.
Supprimer le .framework
indésirable.
Pour moi, le fichier de verrouillage de la pierre précieuse spécifiait une version plus ancienne des cocoapodes que celle que j'avais installée. Je devais rebrancher et exécuter bundle exec pod install
au lieu de pod install
Assurez-vous que la case Find Implicit Dependencies
est cochée.
(Produit -> Schéma -> Éditer un schéma -> Construire -> Trouver des dépendances implicites)