it-swarm.com.de

Apple Mach -O Linker-Befehl ist fehlgeschlagen

 random issue is happening

Nach der Aktualisierung meiner POD-Installation hat Xcode ein neues Problem hervorgebracht:

29
Phoenix Haroz

Stellen Sie sicher, dass Sie die .xcworkspace-Datei und nicht die Projektdatei (.xcodeproj) öffnen, wenn Sie mit Pods arbeiten. Das sollte das Problem mit dem Linken lösen.

92
blackops

Manchmal müssen Sie nur sauber bauen. Es hat mir geholfen. Zum sauberen Build gehen Produkt -> Reinigen

18
MRustamzade

Es gibt mehrere Fälle, die dieses Problem verursachen. Im Moment hat diese Frage keine akzeptierte Antwort und auch ich habe eine andere Lösung für das gleiche Problem gefunden.

Gehen Sie in Ihrer Anwendung zu Target -> Build Settings. Dort finden Sie folgende Attribute.

  • CLANG_WARN_INFINITE_RECURSION 
  • CLANG_WARN_SUSPICIOUS_MOVE
  • GCC_NO_COMMON_BLOCKS

Legen Sie die Werte für NEIN fest, bereinigen Sie das Projekt und erstellen Sie es.

14
AnujAroshA

Die folgenden Schritte haben mir geholfen, dieses Problem zu beseitigen:

  1. Gehen Sie zum Projektpfad und entfernen Sie den Pods-Ordner und die Podfile.lock-Datei. 
  2. Installieren Sie die Pods erneut mit dem Befehl "pod install".
  3. Öffnen Sie xcworkspace und reinigen Sie es, bevor Sie es ausführen. 

Ich hoffe, dass es jemandem Zeit erspart, wie es für mich getan hat. 

13
Seema

Schließen Sie Ihr Projekt und gehen Sie zum Projektpfad, und wählen Sie Ihr Projekt mit .xcworkspace anstelle von .xcodeproj..__ aus, weil Ihr vorhandenes Projekt keine Bibliothek enthält, die Sie verlinkt haben.

 ss

11
Naveen Kumar M

Entfernen Sie die lokalen Dateien von WikitudeSDK vom Ziel. Xcode wird verwirrt zwischen den Pfaden der Bibliothek, die Sie auswählen können.

Versuchen Sie auch, die podfile erneut zu installieren und wikitude aus der pod-Datei in die . IN Linker-Suchpfadeinstellungen zu entfernen. Überprüfen Sie in den Buildeinstellungen die genannten Pfade, um die erforderliche Bibliothek zu finden.

Installiere schließlich Edelsteine, bevor du die Pods aktualisierst

6
S.Jain

Sie müssen die Option Link Binary With Libraries aktivieren. Manchmal bauen Sie Pods, die sich nicht mehr in Ihrem Projekt befinden.

Klicken Sie im linken Bereich auf den Namen Ihres Projekts, dann erneut unter Ziele (auf Namen klicken) und anschließend auf Build Phases> Link Binary With Files . Löschen Sie alles, was Sie nicht verwenden.

3
Boomerange

Gelöst - Bester Weg

pod deintegrate  
pod install

Öffnen Sie xcworkspace und reinigen Sie es, bevor Sie es ausführen.

2
Lakhdeep Singh

die Lösung für mich war, die .xcworkspace-Datei anstelle von .xcodeproj zu öffnen, die sich in meinem Ordner '/ platform/ios' befindet.

1
Punja Solanki

Ich habe die gleiche Fehlermeldung erhalten wie die "Variablenname". Sie müssen alle Variablen- und Funktionsnamen für alle .m-Dateien überprüfen und sicherstellen, dass sie in keiner anderen Datei identisch sind. 

Es arbeitet für mich.

1
Yuvraj Sinh

Ich habe keine Ahnung, warum der Fehler in meinem Fall aufgetreten ist. Ich habe Code aus einem anderen Projekt, das ich vor einiger Zeit erstellt habe, wiederverwendet. Nachdem ich den Code angepasst hatte, erhielt ich immer die Meldung "Apple Mach -O Linker-Befehl ist fehlgeschlagen". Meine beste Vermutung ist, dass es passiert ist, weil ich einige Dateien aus dem Projekt erstellt/gelöscht habe.

Die Sache, die es für mich gelöst hat, war folgende: 

  • Erstellen Sie ein neues Projekt 
  • kopieren Sie alle erforderlichen Dateien aus dem alten Projekt in das neue (Drag & Drop, vergessen Sie nicht das Kontrollkästchen "Kopieren bei Bedarf").
  • Bauen und sehen, dass es funktioniert

Hört sich dumm an und ich habe keine Ahnung warum, aber es hat funktioniert.

0
Bepa1012

Beim Überschreiben des Projekts ist der Fehler aufgetreten.

Der Fehler ist noch aufgetreten nach:

Der Fehler wurde behoben, nachdem in github zu einem anderen Zweig gewechselt wurde, aber möglicherweise spielte eine der anderen Methoden zur Fehlerbehebung eine Rolle. Jetzt laufen alle Zweige mit xcode ohne den Mach -O Linker Error.

0
Bernie 2Google

Ich war mit demselben Problem konfrontiert. Ich habe zwei Klassen mit gleichem Namen deklariert. Daher stand es in Konflikt mit dem Klassennamen. Es funktionierte für mich nach der Aktualisierung des Klassennamens.

0
Shubham Singh

Ich verwende XCode zum Kompilieren der ionischen 3-App.

cli packages: (/usr/local/lib/node_modules)

    @ionic/cli-utils  : 1.10.1
    ionic (Ionic CLI) : 3.10.1

global packages:

    Cordova CLI : 7.0.1 

local packages:

    @ionic/app-scripts : 2.1.4
    Cordova Platforms  : Android 6.2.3 ios 4.5.0
    Ionic Framework    : ionic-angular 3.6.0

System:

    ios-sim : 5.0.8 
    Node    : v8.4.0
    npm     : 5.4.0 
    OS      : OS X Yosemite
    Xcode   : Xcode 7.2 Build version 7C68 

In den meisten Dateien von ios gab es keine Schreibberechtigung, was das Hauptproblem war.
Ich habe gerade die Erlaubnis der IOS-Datei geändert und es wurde ein Problem mit dem Befehl behoben. 

Sudo chmod -R 775 platforms/ios/ 

Hat super gearbeitet.

0
S.Yadav

Ich hatte ein ähnliches Problem und musste nur sicherstellen, dass das Kontrollkästchen "Kopieren bei Bedarf" aktiviert ist, wenn das Framework in das Projekt eingefügt wird. Referenz funktionierte nur nicht für mich ...

0
jocabola