it-swarm.com.de

Linker-Befehl mit Exit-Code 1 (Aufruf mit -v zum Aufruf) fehlgeschlagen, Xcode 8, Swift 3

Ich kann diesen Fehler nicht loswerden!

 

Ich habe alle möglichen Dinge versucht, wie abgeleitete Daten zu löschen (Einstellungen-> Standorte-> klicken Sie auf den grauen Pfeil, um den Ordner Abgeleitete Daten in Finder-> Rechtsklick zu öffnen, in den Papierkorb zu verschieben), das Projekt zu reinigen (CMD + Shift + K oder Product) -> Bereinigen), Aktualisierung von Karthago und Abhängigkeiten, Überprüfung der anderen Antworten auf StackOverflow (meist Anpassungen in den Build-Einstellungen/Phasen) und erneutes Klonen der App von Github usw.

Das gleiche Projekt funktioniert auf den Computern meiner Mitarbeiter.

BEARBEITEN: Von der aktuellen Antwort mit der besten Bewertung konnte ich ein wenig weiter debuggen ... Ich bin immer noch nicht sicher, wie ich das beheben kann. Es sieht so aus, als hätte ich zweimal etwas in dem Projekt? Ich habe zweimal gesucht und kann nichts finden!

Hier ist ein Bild des Logs:  

78
Jake Dobson

ich war heute in xcode 8 Version 8.3.2 vor demselben Problem

klicken Sie mit der rechten Maustaste auf Ausgabe -> im Protokoll anzeigen

 enter image description here

dann können Sie überprüfen, was das Problem verursacht

 enter image description here

141
umairqureshi_6

Möglicherweise haben Sie einepod -Datei installiert und Sie versuchen immer noch, aus der .xcodeproj-Datei anstelle von .xcworkspace

86
Aashish

das einzige, was für mich funktionierte, war pod deintegrate und pod install

28
Charles Harring

hast du einen sauber gemacht? cmd + shift + k

15
Francisco Perez

Okay ... Also hier ist, was mein Problem gelöst hat ...

in der App-Delegatendatei:

#import "AppDelegate.h"
#import "DarkSkyAPI.h"
//#import "Credentials.h"

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 helfen Sie in Zukunft jedem. Die Antwort von @ umairqureshi_6 hat mir im Verlauf des Prozesses geholfen, aber nicht gelöst. Er führte dorthin, wo ich die Informationen herausfinden konnte. Ich sah ständig AppDelegate- und DarkSkyAPI-Dateien im Fehlerprotokoll und die Informationen, die sie aus der Credentials-Datei abriefen, verursachten den Fehler. Ich wusste, dass es sich um eine dieser drei Dateien handeln musste, also überprüfte ich sofort die Importe, denn ich erinnerte mich, dass die .h alle Importe aus ihrer .m-Datei trägt. Boom!

8
Jake Dobson

Jetzt kann die Frage bereits beantwortet werden. Aber wenn dies jemandem hilft, etwas Zeit zu sparen: Ich hatte den gleichen Fehler. Ich habe alles überprüft, um einen sehr kleinen und blöden Fehler von meiner Seite zu finden. Ich habe eine benutzerdefinierte ManagedObject-Datei mit Kerndaten in einen View-Controller meines Projekts importiert. Ich importierte versehentlich die .m-Datei anstelle der .h-Datei, die das doppelte Symbol im Architekturfehler verursachte (Linker-Befehl ist fehlgeschlagen), da meine .m-Datei der Eigenschaftenklasse die .h-Datei der Kerndatenklasse und somit importiert doppelter Import verursacht. 

Prüfen Sie also einfach, ob Sie die richtigen Dateien importiert haben, bevor Sie mehrere Lösungen ausprobieren.!

5
Priyanka

Viele Lösungen sind oben erwähnt. Niemand hat für mich gearbeitet (aber bitte zuerst probieren).

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.

Das hat mein Problem gelöst.

4

Wählen Sie das Projekt-> Erstellungsphase-> Link-Binär mit Bibliotheken und fügen Sie alle Pod-Bibliotheken hinzu.

3
K Prasad

Für alle, die dieses Problem mit dem Flurry-Framework haben. Dies ist das Problem, das mein Problem behoben hat. Für mich bestand das Problem darin, dass ich die folgenden Dateien importiert hatte, sie jedoch nie verwendet habe. 

Alles, was ich tun musste, war zu Projektzieleinstellungen zu gehen und diese 2 Dateien aus dem Abschnitt "Verknüpftes Framework und Bibliotheken" zu entfernen, und das Problem wurde gelöst.

2
Cedan Misquith

Ich hatte das gleiche Problem mit der Verwendung von Karthago für Abhängigkeiten. 

Gehen Sie einfach zu Projekt auswählen -> Build-Einstellungen -> Suche nach Bitcode aktivieren -> Wenn Ja ausgewählt ist, wählen Sie Nein.

Das hat dieses Problem für mich gelöst.

2
A.Silva

In meinem Fall ist der Fehler die Bibliothek, die zweimal verlinkt wurde.

Ich benutze react-native, so dass es automatisch mit react-native link und manuell in xcode verlinkt wurde.

1

Ich musste nur import Foundation tun!

Ich habe Kitura für die Swift-Serverseite verwendet und habe das immer wieder vergessen!

1
Honey

Hatte dieses Problem nicht, als ich auf meinem eigenen Gerät baute und lief. Hatte dieses Problem nur mit Simulatoren. Ich habe einfach meinen Computer neu gestartet und ausgeführt. Es funktionierte.

1
James Ryu

Ich hatte das gleiche Problem.

Die Ursache war, dass ich dieselbe globale Variable in 2 Dateien deklariert habe. Es zeigte sich also derselbe Fehler, dass 2 doppelte Symbole waren.

Die Lösung bestand darin, diese Variablen zu entfernen.

1
Ajit A. Kenjale

Hier ist mein Problem und meine Lösung: 

Ich habe zwei Dateien mithilfe des Quellbaums (Versionscontroller) aus dem Quellcode entfernt. Nachdem der Diff angewendet wurde, der die beiden entfernten Klassen enthält, wurde er von Xcode nicht automatisch hinzugefügt. Also ich habe Linkerfehler.

Ich habe die Dateien manuell hinzugefügt, indem Sie mit der rechten Maustaste auf den Gruppennamen klicken und "Dateien hinzufügen zu" auswählen. Nun wurde mein Fehler behoben.

Wenn jemand einen Linker-Fehler in Bezug auf die Klassendatei hatte, versuchen Sie, ihn manuell hinzuzufügen.

1
Sujananth

Ich habe das Sparkle-Framework mit CocoaPods getestet.

Leider habe ich "pod 'Sparkle', '~> 1.21'" im PodFile an der falschen Stelle abgelegt. Ich lege es unter Testen (für Unit-Tests).

Einmal in PodFile platziert, ist alles in Ordnung.

1
pdq

Die anderen Antworten haben für mich nicht funktioniert, daher teile ich meine Lösung, falls sie jemand anderem helfen könnte:

Mein Problem war, dass ich das Podfile meines XCode-Projekts für die falsche Plattform konfiguriert habe. "Platform: ios" am Anfang meiner Poddatei in "platform: macos" geändert, arbeitete der Fehler für mich.

1
Vorashy

Ich hatte das gleiche problem Wenn Sie ein github-Projekt auschecken, verwenden Sie anstelle von git clone git lfs clone, da einige große Dateien manchmal nur mit git nicht ordnungsgemäß geklont werden. Stellen Sie außerdem sicher, dass Ihr Bitcode deaktiviert ist.

0
Aman pradhan

In meinem Fall habe ich den Target-Namen in meiner Podfile geändert. Es wird also derselbe Fehler für mich erstellt.

Lösung

Gehen Sie einfach zu project-> Build Phase->Link Binary with libraries Entfernen Sie die alte FrameWorks, indem Sie auf minus button(-) klicken. Reinigen und erneut ausführen. Ich arbeite.

 enter image description here

Unerwünschten .framework entfernen.

0
Krunal Nagvadia

In der Gem-Lock-Datei war für mich eine ältere Version von Cocoapods angegeben als die, die ich installiert hatte. Ich musste bundle exec pod install anstelle von pod install neu verzweigen und ausführen

0
Jason

Stellen Sie sicher, dass das Kontrollkästchen Find Implicit Dependencies aktiviert ist.

(Produkt -> Schema -> Schema bearbeiten -> Erstellen -> Implizite Abhängigkeiten suchen)

0
llama591