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.
Manchmal müssen Sie nur sauber bauen. Es hat mir geholfen. Zum sauberen Build gehen Produkt -> Reinigen
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.
Legen Sie die Werte für NEIN fest, bereinigen Sie das Projekt und erstellen Sie es.
Die folgenden Schritte haben mir geholfen, dieses Problem zu beseitigen:
Ich hoffe, dass es jemandem Zeit erspart, wie es für mich getan hat.
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
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.
Gelöst - Bester Weg
pod deintegrate
pod install
Öffnen Sie xcworkspace und reinigen Sie es, bevor Sie es ausführen.
die Lösung für mich war, die .xcworkspace-Datei anstelle von .xcodeproj zu öffnen, die sich in meinem Ordner '/ platform/ios' befindet.
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.
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:
Hört sich dumm an und ich habe keine Ahnung warum, aber es hat funktioniert.
Beim Überschreiben des Projekts ist der Fehler aufgetreten.
Der Fehler ist noch aufgetreten nach:
Ändern der Klangeinstellungen
ionic cordova platform ios entfernen statt nur den ios-Plattformordner vor jedem neuen Build löschen (und natürlich die Plattform erneut hinzufügen)
aktualisieren von Ruby gemäß den Anweisungen: https://forum.ionicframework.com/t/x-code-8-beta-2-Apple-mach-o-linker-id-error/71998
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.
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.
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.
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 ...