Ich habe gerade meinen Xcode auf Xcode 8 aktualisiert und versuche jetzt, den Code meines Projekts in Swift 2.3 zu konvertieren. Ich konnte mit Xcode 8 ein paar Mal fehlerfrei bauen. Nun wurden folgende Fehler angezeigt:
ld: datei nicht gefunden: /Users/Linus/Library/Developer/Xcode/DerivedData/MyApp-asdjeshhsetnfxbegcsbcipdreneewgr/Build/Intermediates/MyApp.build/Debug-iphonesimulator/MyApp.build/Objects-nadrachrachrptr/host/adjects/
clang: Fehler: Linker-Befehl mit Exit-Code 1 fehlgeschlagen (verwenden Sie -v, um den Aufruf zu sehen)
Ich weiß gar nicht, was eine .o
-Datei ist. Die Swift-Datei von DownloadsViewController
ist jedoch vorhanden.
ditto: Kein realer Pfad für die Quelle '/Users/Linus/Library/Developer/Xcode/DerivedData/MyApp-asdjeshhsetnfxbbciegrfdpdreneewgr/Build/Intiates/MyApp.build/Debug-iphonesimulator/MyApp.build/Debug-iphonesimulator/MyApp.build/ MyApp-Swift.h '
Befehl/usr/bin/ditto mit Exitcode 1 fehlgeschlagen
Der Ditto-Fehler tritt dreimal auf: für MyApp.swiftdoc
, MyApp.swiftmodule
und MyApp-Swift.h
.
Danke im Voraus!
Xcode beschloss magisch, die Fehler selbst zu beheben. Mein Projekt läuft wieder ohne Fehler.
Ich habe nichts getan, um diesen Fehler zu beheben.
Stellen Sie sicher, dass Sie das Projekt aus der .xcworkspace
-Datei statt aus dem .xcodeproj
öffnen.
schritt 1 = Klicken Sie im Navigationsmenü auf das Projekt
schritt 2 = Wählen Sie das Projekt aus
schritt 3 = Build-Einstellungen
schritt 4 = Such-Aktivierungsbitcode, wenn Bitcode ja ist, dann zu Nein wechseln
Keine der vorherigen Antworten hat mein Problem gelöst ... Ich denke, es kommt von Änderungen in der Cocoapods podFile, von der Verwendung von Frameworks bis zur Nichtbenutzung
Frameworks wurden noch in Ziel> Allgemeine Eigenschaften> Verknüpfte Frameworks erinnert. Ich entfernte sie Ich entferne auch das -framework und die entsprechenden Rahmen von anderen Linker-Flags (Speichern von geerbten und objC-Flags)
Hoffe das könnte helfen
Dies ist mir passiert, nachdem ich meine App während der Ausführung gelöscht habe.
Ich habe es beim Reinigen des Projekts gelöst.
Produkt> Reinigen oder Umschalt + Befehl + K
XCode mit folgenden cmds säubern und neu erstellen:
rm -rf ~/Library/Developer/Xcode/DerivedData/
killall Xcode 2> /dev/null
killall Instruments 2> /dev/null
killall 'iOS Simulator' 2> /dev/null
killall Simulator 2> /dev/null
killall 'Simulator (Watch)' 2> /dev/null
killall ibtoold 2> /dev/null
killall simctl 2> /dev/null
# There may be others
# Kill the service itself
Sudo killall -9 com.Apple.CoreSimulator.CoreSimulatorService
rm -rf ~/Library/*/CoreSimulator
Für meine reagierende native App habe ich einen Ordner eines Testprojekts inProject Navigator
und Targets
gelöscht. Es hat mein Problem gelöst.
Wenn Sie Bitcode auf "Nein" setzen, wurde dieses Problem behoben. Dies ist in den Build-Einstellungen zu finden.
Wenn Sie ein Framework über Build Phases importieren, legen Sie es in den Ordner Ihres Projekts und fügen Sie es in Link Binary with Libraries hinzu. Eigentlich habe ich dieses Problem bereits erlebt, ich bin sehr frustriert über diesen Fehler, bis ich wusste, dass ich das .framework in den Ordner meines Projekts legen muss. Die Hoffnung hilft
Machen Sie sich keine Sorgen, gehen Sie einfach zu Ihrem Projektziel und nehmen Sie die Einstellungen vor und suchen Sie nach Bitcode, ändern Sie den Wert in JA in NEIN.
Ich hatte das gleiche Problem, als ich Xcode von einer früheren Version 7 auf den neuen XCode 8 umstellte. Im neuen Xcode (jetzt 8.3.3) gibt es weitere Einstellungen im Compiler.
Wenn Sie die Projekteinstellungen in neuen Xcode aktualisieren (mit Editor-> Einstellungen überprüfen), werden diese neuen Einstellungen angewendet und auf den Standardwert YES gesetzt. Nach diesem Update hatte ich den Linker-Fehler!
In meinem Projekt habe ich die vorherige Version der Datei .pbxproj mit der neuen (nach der Überprüfung der Einstellungen) mit Beyond Compare (oder ähnlichem) verglichen.
Auf diese Weise kann ich die neuen Einstellungen sehen, die in der neuen Version von Xcode hinzugefügt wurden, und den neuen Wert für Einstellungen auf NO setzen. Nach diesem Update war alles in Ordnung und der Linker-Fehler verschwindet.
Für mich war es ein Problem mit der Eingeborenenhaptik. Ich denke, es lag an einer Änderung in CocoaPods, aber auch an der Änderung der Dateispeicherorte. Ich habe es einfach entfernt und neu installiert. Hoffe das hilft jemandem.
UPDATE
Der Build war erfolgreich, wenn er ausgeführt wurde, stürzte er ab. Um dieses Problem zu lösen, habe ich File> Add Files to Project für GoogleService-Info.plist verwendet und es hat funktioniert.
Neben der Bereinigung abgeleiteter Daten und des Projekts und dem Neustart von Xcode habe ich festgestellt, dass die Konvertierung Ihres Projekts in die aktuelle Swift-Syntax und das Installieren von Pods hilfreich sind, falls Sie sie haben.
Um Ihr Projekt erneut zu konvertieren, müssen Sie die Build-Einstellung für Swift_version auf yes zurücksetzen, damit Ihr Ziel in der Konvertierungsliste angezeigt wird.
Ich hatte das gleiche Problem, weil ich eine Klasse definiert hatte (mit @interface), aber keine Implementierung (mit @implementation) dafür bereitstellte. Es war eine einfache Klasse, also wurde sie auch von einer leeren Implementierung gelöst.
Das Problem, das ich mit XCode 8.2.1 (Version 8C1002) gefunden habe, nachdem ich das Projekt in Current Swift Syntax (Swift 3) konvertiert hatte. Ich musste es nur nach der Reinigung wieder aufbauen, und die Fehler verschwanden.
Wenn das Verfahren zum Bereinigen und Deaktivieren des Bitcodes nicht funktioniert, ist es möglich, dass der Grund für die Fehler ein komplexer Syntaxfehler in Ihrem Code ist.
Überprüfen Sie auch, ob Sie in eine Ihrer Klassen eine "* .m" -Implementierungsdatei importieren, die dasselbe Problem verursachen kann.
Das Entfernen der Importanweisung kann das Problem beheben
Bitte stellen Sie sicher, dass Sie die folgenden Änderungen in der Arbeitsbereichseinstellung in Ihrem xcode vorgenommen haben:
Bitte gehen Sie zu Ihrer Arbeitsbereichseinstellung und nehmen Sie die folgenden Änderungen vor:
Arbeitsbereichseinstellung: Build System: Legacy Build System
Pro-Benutzer-Arbeitsbereich DerivedData: Relativer Speicherort des Arbeitsbereichs Build System Use User Setting
Ich hoffe es hilft: