Ich kann diesen Fehler nicht loswerden!
Ich habe alle möglichen Dinge ausprobiert, z. B. Abgeleitete Daten löschen (Einstellungen-> Standorte-> Klicken Sie auf den grauen Pfeil, um den Ordner Abgeleitete Daten im Finder zu öffnen-> Rechtsklick, in den Papierkorb verschieben), das Projekt zu bereinigen (CMD + Umschalt + K oder Produkt) -> Bereinigen), Aktualisieren von Karthago und Abhängigkeiten, Überprüfen anderer Antworten auf StackOverflow (hauptsächlich Anpassungen in Build-Einstellungen / Phasen) und erneutes Klonen der App von Github usw.
Das gleiche Projekt funktioniert auf den Computern meiner Mitarbeiter.
EDIT: Von der aktuell am besten bewerteten Antwort konnte ich ein wenig weiter debuggen ... Ich bin mir immer noch nicht sicher, wie ich das beheben soll. Es sieht so aus, als hätte ich zweimal etwas im Projekt? Ich habe nachgesehen und kann nichts finden, das zweimal auftaucht!
Antworten:
Ich hatte heute das gleiche Problem in Xcode 8 Version 8.3.2
Rechtsklick auf Problem -> Im Protokoll anzeigen
Dann können Sie überprüfen, was das Problem verursacht
quelle
Vielleicht haben Sie eine Pod-Datei installiert und versuchen immer noch, aus der
.xcodeproj
Datei zu erstellen, anstatt.xcworkspace
quelle
.xcodeproj
über einem Jahr mit dem gemacht. Etwas so Einfaches!Das einzige, was für mich funktionierte, war zu rennen
pod deintegrate
undpod install
quelle
hast du es sauber gemacht cmd + shift + k
quelle
Okay ... Also hier ist, was mein Problem gelöst hat ...
in der App-Delegatendatei:
Ich hatte Credentials.h bereits in die DarkSkyAPI.m-Datei in meinem Projekt importiert. Durch das Auskommentieren des zusätzlichen Imports wurde der Fehler behoben!
Einige Dinge zu erwähnen und vielleicht jemandem in der Zukunft zu helfen. Die Antwort von @ umairqureshi_6 hat mir dabei geholfen, sie aber nicht gelöst. Er führte dorthin, wo ich die Informationen ausgraben konnte. AppDelegate- und DarkSkyAPI-Dateien wurden immer wieder im Fehlerprotokoll angezeigt, und die Informationen, die aus der Anmeldeinformationsdatei abgerufen wurden, verursachten den Fehler. Ich wusste, dass es in einer dieser 3 Dateien sein musste, also überprüfte ich sofort die Importe, weil ich mich daran erinnerte, dass die .h alle Importe aus ihrer .m-Datei enthält. Boom!
quelle
Jetzt wurde die Frage bereits beantwortet. Aber wenn dies jemandem hilft, Zeit zu sparen: Ich hatte den gleichen Fehler. Ich überprüfte alles, um einen sehr kleinen und dummen Fehler von meiner Seite zu finden. Ich habe eine benutzerdefinierte ManagedObject-Datei mit Kerndaten in einen Ansichtscontroller meines Projekts importiert. Ich habe versehentlich die .m-Datei anstelle der .h importiert Datei das doppelte Symbol im Architekturfehler verursacht hat (Linker-Befehl fehlgeschlagen), weil meine .m-Datei der Eigenschaftsklasse die .h-Datei der Kerndatenklasse importiert und somit einen doppelten Import verursacht.
Überprüfen Sie einfach, ob Sie die richtigen Dateien importiert haben, bevor Sie mehrere Lösungen ausprobieren.!
quelle
Viele Lösungen sind oben erwähnt. Niemand hat für mich gearbeitet (aber bitte versuchen Sie es zuerst oben).
Wählen Sie Projekt -> Ziel auswählen -> Verknüpftes Framework und Bibliotheken -> Alle Pod-Bibliotheken hinzufügen. (entfernen, wenn sie in eingebetteten Binärdateien vorhanden sind)
Entfernen Sie diese nun aus dem Framework-Ordner im linken Datei-Explorer von xcode.
Dies löste mein Problem.
quelle
Wählen Sie das Projekt-> Erstellungsphase-> Binär mit Bibliotheken verknüpfen und fügen Sie alle Pod-Bibliotheken hinzu.
quelle
Ich hatte das gleiche Problem mit Karthago für Abhängigkeiten.
Gehen Sie einfach zu Projekt auswählen -> Einstellungen erstellen -> Nach Bitcode aktivieren suchen -> Wenn Ja ausgewählt ist, wählen Sie Nein.
Das hat dieses Problem für mich gelöst.
quelle
Ich hatte das gleiche Problem.
Die Ursache war, dass ich dieselbe globale Variable in 2 Dateien deklariert habe . Es wurde also der gleiche Fehler angezeigt, bei dem 2 doppelte Symbole angezeigt wurden .
Die Lösung bestand darin, diese Variablen zu entfernen.
quelle
Für alle, die dieses Problem mit dem Flurry-Framework haben. Dies hat mein Problem behoben. Für mich war das Problem, dass ich die folgenden Dateien importiert, aber nie verwendet hatte. libFlurryTVOS_9.2.3 libFlurryWatch_9.2.3
Alles, was ich tun musste, war, zu den Projektzieleinstellungen zu gehen und diese beiden Dateien aus dem Abschnitt "Verknüpftes Framework und Bibliotheken" zu entfernen, und das Problem wurde behoben.
quelle
In meinem Fall ist der Grund für den Fehler eine Bibliothek, die zweimal verknüpft wurde.
Ich benutze es
react-native
also wurde es automatisch mitreact-native link
und manuell in xcode verlinkt.quelle
Stellen Sie sicher, dass
Find Implicit Dependencies
Kontrollkästchen aktiviert ist.(Produkt -> Schema -> Schema bearbeiten -> Erstellen -> Implizite Abhängigkeiten suchen)
quelle
Ich habe das Sparkle-Framework mit CocoaPods getestet.
Leider habe ich gesagt
pod 'Sparkle', '~> 1.21'
die PodFile an der falschen Stelle abgelegt. Ich habe es unter Testen gestellt (für Unit-Tests).Einmal an der richtigen Stelle in PodFile platziert, ist alles in Ordnung.
quelle
Ich musste es einfach tun
import Foundation
!Ich habe Kitura für die Swift-Serverseite verwendet und dies immer wieder vergessen!
quelle
Hier ist mein Problem und meine Lösung:
Ich habe zwei Dateien mithilfe des Quellbaums (Versionscontroller) aus dem Quellcode entfernt. Nach dem Anwenden des Diff, das die beiden von mir entfernten Klassen enthält, hat Xcode es nicht automatisch hinzugefügt. Also habe ich einen Linkerfehler bekommen.
Ich habe die Dateien manuell hinzugefügt, indem ich mit der rechten Maustaste auf den Gruppennamen geklickt und "Dateien hinzufügen zu" ausgewählt habe. Jetzt wurde mein Fehler behoben.
Wenn jemand auf den Linker-Fehler bezüglich der Klassendatei gestoßen ist, versuchen Sie, ihn manuell hinzuzufügen.
quelle
Hatte dieses Problem nicht, als ich auf meinem eigenen Gerät baute und lief. Hatte nur dieses Problem mit Simulatoren. Ich habe meinen Computer einfach neu gestartet und ausgeführt. Es funktionierte.
quelle
In meinem Fall habe ich den
Target
Namen in meinem geändert.Podfile
Es wird also der gleiche Fehler für mich erstellt.Gehen
project-> Build Phase->Link Binary with libraries
Sie einfach Entfernen Sie die alteFrameWorks
durch Klicken aufminus button(-)
Und reinigen und erneut ausführen. Es ist meine Arbeit.Unerwünscht entfernen
.framework
.quelle
Die anderen Antworten haben bei mir nicht funktioniert, daher teile ich hier meine Lösung für den Fall, dass sie jemand anderem helfen könnte:
Mein Problem war, dass ich das Podfile meines XCode-Projekts für die falsche Plattform konfiguriert habe. Das Ändern von "platform: ios" am Anfang meiner Poddatei in "platform: macos" hat für mich funktioniert, um den Fehler zu beseitigen.
quelle
Ich hatte das gleiche Problem. Wenn Sie ein Github-Projekt auschecken, verwenden Sie anstelle des Git-Klons den Git-LFS-Klon, da einige große Dateien manchmal nicht ordnungsgemäß nur mit Git geklont werden. Stellen Sie außerdem sicher, dass Ihr Bitcode deaktiviert ist.
quelle
In der Gem-Lock-Datei wurde für mich eine ältere Version von Cocoapods angegeben als die, die ich installiert hatte. Ich musste mich neu verzweigen und
bundle exec pod install
stattdessen rennenpod install
quelle
Es scheint, dass das Problem für die meisten von uns anders ist und die Fehlermeldung anständige Informationen enthält. In meinem Fall wurde das Bereitstellungsziel
10.13
von derexport MACOSX_DEPLOYMENT_TARGET=10.13
Leitung festgelegt, aber ich wurde ausgeführt10.14
. Daher musste ich mein Bereitstellungsziel auf10.14
Allgemein> Bereitstellungsinformationen ändern, damit die ITLibrary-bezogenen Symbole wieder verfügbar waren.quelle
In meinem Fall habe ich mehrere Produkte aus demselben Projekt hergestellt. Für eines der Produkte ist die
main.m
importierte Datei eine Header-Datei aus einem anderen Ordner unter demselben Projekt. Diese Datei war jedoch nicht in "Erfüllte Quellen" unter "Erstellungsphase" enthalten. Dies verursachte einen Linkerfehler.Nachdem ich die Einstellungen für "Build-Phasen" für ein Produkt, das erfolgreich erstellt werden konnte, sorgfältig verglichen hatte, wurde mir klar, dass die
.m
Datei des Headers in die Liste der "kompilierten Quelle" aufgenommen werden muss. Mein Problem wurde nach dem Hinzufügen dieser Datei behoben. Ein Bild zur Klarheit anhängen. Die markierte Datei musste hinzugefügt werden.quelle
Ich habe die gleichen Probleme beim Erstellen eines Ionic 1-Projekts.
Ich konnte das Problem beheben, nachdem ich die Datei CDVLogger.h & CDVLogger.m gelöscht hatte
quelle
Ok, ich hatte gerade heute das gleiche Problem und fing an zu googeln, als ich auf diesen Thread stieß. Ich habe die Frage noch nicht vollständig gelesen, als mir die Antwort in den Sinn kam: Ich habe eine Klasse mit einem leeren Konstruktor deklariert
Dann dachte ich mir, warum ich den Konstruktor meiner Klasse nicht mit geschweiften Klammern (
{}
) beenden sollte (nicht sicher, ob ich mit der Wortauswahl hier richtig bin, aber wen interessiert das? ). So tat ich:Das Problem wurde behoben, mein Code funktionierte einwandfrei.
Ich weiß, die gute Praxis besteht darin, das Problem zu untersuchen und die wahre Ursache zu finden, aber das hat bei mir funktioniert.
quelle