it-swarm.com.de

Xcode - ld: Bibliothek wurde für -lPods nicht gefunden

Ich erhalte diese Fehler, wenn ich versuche, eine iOS-Anwendung zu erstellen.

ld: library not found for -lPods
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Ld /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox normal x86_64
cd /Users/Markus/Development/xcode/totalbox-ios
export IPHONEOS_DEPLOYMENT_TARGET=7.1
export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/bin:/bin:/usr/sbin:/sbin"
/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -Arch x86_64 -isysroot 
/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator7.1.sdk -L/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -F/Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator -filelist /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox.LinkFileList -Xlinker -objc_abi_version -Xlinker 2 -ObjC -framework CoreGraphics -framework Foundation -framework MobileCoreServices -framework QuartzCore -framework Security -framework SystemConfiguration -fobjc-arc -fobjc-link-runtime -Xlinker -no_implicit_dylibs -mios-simulator-version-min=7.1 -framework CoreGraphics -framework UIKit -framework Foundation -lPods -Xlinker -dependency_info -Xlinker /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Intermediates/Totalbox.build/Debug-iphonesimulator/Totalbox.build/Objects-normal/x86_64/Totalbox_dependency_info.dat -o /Users/Markus/Library/Developer/Xcode/DerivedData/Totalbox-clpeqwpfvwuhpleeejnzlavncnvj/Build/Products/Debug-iphonesimulator/Totalbox.app/Totalbox

PODS ROOT in den Build-Einstellungen:

${SRCROOT}/Pods

Ich habe dieses Xcode-Projekt nicht erstellt - ich habe es einfach aus git gezogen, um es auszuprobieren.

164
mrks

Wenn das Projekt CocoaPods verwendet, muss die .xcworkspace-Datei immer anstelle der .xcodeproj-Datei geöffnet werden.

510
H6.

Hatte auch dieses Problem. Bei meiner Installation von CocoaPods war ein Fehler aufgetreten. Keine anderen Pods als KIF wurden ordnungsgemäß installiert. Ich folgte den Kommentaren zu diesem Thread , um zu helfen.

Grundsätzlich musste ich sicherstellen, dass die Build Active Architectures Only-Einstellungen für mein Projekt und das Pods-Projekt gleich sind.

88
Stunner

Nach stundenlanger Recherche funktionierte diese Lösung für mich:

(Haftungsausschluss: Ergebnisse können aufgrund der Umstände variieren)

der Library not found -lPods-(someCocoapod)-Fehler war auf mehrere Einträge in der:

Settings(Target) > Build Settings > Linking > 'Other Linker Flags'

In vielen anderen Beiträgen musste ich dorthin schauen und ich würde Änderungen an dem Fehler sehen, wenn ich mich mit den Einträgen beschäftigte, aber ich erhielt immer wieder Variationen des gleichen Fehlers. 

Zu viele Stunden verloren ...

Mein Fix:

entfernen Sie die Zeilen -lPods- (someCocoaPod) in der Liste "Other Linker Flags", ABER NUR, wenn sich $ (vererbt) oben befindet. Anfangs war ich unsicher, aber das beruhigende Zeichen war, dass ich immer noch Verweise auf meine Kokosapods sah, als ich den Bearbeitungsmodus (vererbt) verließ. Ich habe in Debug und Release getestet, was beides zu Fehlern führte, und das Problem wurde sofort gelöst.

48
damote

Es scheint, dass das Projekt cocoapods verwendet hat. und diese Dateien fehlen in Ihrem Projekt.

Sie können es nicht einfach von git herunterladen. Sie müssen es von Cocoapods installieren.

weitere Hilfe finden Sie unter Einführung in das CocoaPods-Tutorial

Wenn das Projekt CocoaPods verwendet, müssen Sie immer die .xcworkspace-Datei anstelle der .xcodeproj-Datei öffnen

32
Rahul Patel

Wenn Sie mehrere Ziele in Ihrem Projekt haben, haben sich Cocoapods möglicherweise nur mit einem von ihnen gut integriert.

Ich musste für jedes weitere Ziel, das ich hatte, manuell einen Link zu libPods.a in "Link Binary With Libraries" erstellen.

libPods.a in my list of frameworks

26
Rizwan Sattar

Mein Problem wurde durch die folgende Konfiguration behoben:

Build Active Architecture Only: YES
21
Durul Dalkanat

Keine der obigen Antworten regelte es für mich. 

Ich hatte stattdessen pod install mit einem pod-Befehl außerhalb des target-Abschnitts ausgeführt. Also zum Beispiel:

#WRONG
pod 'SOMEPOD'

target "My Target" do
    pod 'OTHERPODS'
end

Ich habe es schnell behoben und den fehlerhaften Pod wieder in die target-Sektion zurückgebracht, wo er hingehörte, und pod install erneut ausgeführt:

# CORRECT
target "My Target" do
    pod 'SOMEPOD'
    pod 'OTHERPODS'
end

Was in der Zwischenzeit passiert ist, war, dass die lib -libPods.a zu meinen verknüpften Bibliotheken hinzugefügt wurde, was nicht mehr existiert und sollte nicht, da dort bereits der -libPods-My Target.a ist. 

Die Lösung bestand also darin, in die General-Einstellungen meines Targets zu gehen und zu Linked Frameworks and Libraries zu gehen und einfach -libPods.a aus der Liste zu löschen.

10
gravy

Wenn jemand hierher gekommen ist, um einen Fehler mit react-native-fbsdk zu beheben, nachdem er mit Cocoapods installiert wurde, müssen Sie daran denken, dass Sie alle anderen .a-Dateien in Ihren Projekten build phase entfernen müssen und nur die .a von Cocoapods mit dem Namen libPods-WhateverAppName.a halten. 

 Only that remains here

Dies ist normalerweise auf rnpm link und die Funktionsweise von rnpm zurückzuführen.

Nachdem ich die .a-Datei von Facebook aus meinen Build-Phasen entfernt hatte, war mein Projekt wieder in Betrieb.

8
SudoPlz

Meine Schritte: 

  1. Löschen Sie den Pod-Ordner und die 'Pod-Datei'. 
  2. Geben Sie "pod install" in das Terminal ein. 
  3. Geben Sie "Pod Update" in das Terminal ein. 

Neben der Gewährleistung, dass "Build Active Architectures" auf JA gesetzt wurde, wie in den vorigen Antworten erwähnt, war dies das, was es für mich getan hatte. 

7
David Liu

Hatte dasselbe Problem, nachdem Deployment target von 7.0 auf 8.0 aktualisiert und use_frameworks! aktiviert wurde.

cocoapods hat zuvor erstellte PodName.a-Dateien nicht aus dem Abschnitt Frameworks meines Projekts gelöscht.

Also musste ich diese manuell löschen, weil sie den linker error verursacht haben.

6
Tim

Löschen Sie alle entsprechenden Dateien/Ordner der importierten Cocoapods-Quelle außer podfile.

install cocoapod erneut. Dies sollte jeglichen redundanten Pull von der ursprünglichen Quelle entfernen.

4
thatzprem

Für mich hatte folgendes gearbeitet.

  1. Gehen Sie zu "Projektziel -> Build-Einstellungen -> Vorverarbeitung -> Präprozessormakros". Setzen Sie "COCOAPODS = 1" in allen Debug, Integration, Release unter "Preprocessor Macros"
  2. Fügen Sie in "Other Linker Flags" unter "Project Target" Folgendes hinzu
    1. $ geerbt
    2. -ObjC
    3. -lc ++
    4. -all_load

Reinigen Sie das Projekt und führen Sie es aus. Wenn der Fehler weiterhin angezeigt wird, versuchen Sie, indem Sie "Projektziel -> Einstellungen erstellen -> Nur aktive Architekturen erstellen" setzen, "Debug" auf "JA" setzen und "Integration und Freigabe" auf "Nein" setzen. Wiederholen Sie dann die Einstellung "Nur aktive Architekturen erstellen" für alle "Pod-Ziele".

Reinigen Sie das Projekt und führen Sie es aus. Wenn Sie die folgende Fehlermeldung erhalten

 No architectures to compile for (ONLY_ACTIVE_Arch=YES, active Arch=x86_64, VALID_ARCHS=i386).

Dann versuchen Sie, Mr. Mike in diesem Link zu antworten

Xcode 5.1 - Keine Architekturen zum Kompilieren (ONLY_ACTIVE_Arch = YES, aktiver Arch = x86_64, VALID_ARCHS = i386)

Ich hoffe es hilft!

2
Sakthimuthiah

Wenn Sie ein Projekt klonen, das Cocoapods verwendet, müssen Sie es in Ihrem Projekt installieren.

Hier Schritt für Schritt, was Sie tun müssen:

  • 1) Klonen Sie den Quellcode auf die lokale Maschine.
  • 2) Schließen Sie das Xcode-Projekt (falls geöffnet);
  • 3) Installieren Sie die Anwendung cocoapods auf Ihrem Mac, indem Sie diesen Befehl in terminal ausführen: " gem install cocoapods ", fügen Sie am Anfang " Sudo " hinzu, wenn dies nicht funktioniert hat;
  • 4) Gehen Sie mit dem Befehl " cd " im Terminal zum Stamm Ihres Xcode-Projekts.
  • 5) Sie sollten Podfile in diesem Ordner haben. Wenn Sie dies noch einmal überprüfen möchten, verwenden Sie den Befehl " cat Podfile ". Daraufhin wird der Inhalt dieser Datei mit Bibliotheken angezeigt, die in Ihrem Projekt installiert werden müssen.
  • 6) Verwenden Sie anschließend den Befehl " pod install ", um die Bibliotheken für Ihr Projekt herunterzuladen und zu installieren. Das Podfile.lock wird erstellt und {Ihr Projektname} .xcworkspace file;
  • 7) Ab jetzt müssen Sie {Ihr Projektname} .xcworkspace verwenden, um es in xcode zu öffnen.

Viel Glück!

2
Renat Gatin

In einem Projekt mit mehreren Zielen hatte ich nach dem Ändern des Schemas und des App-Namens dasselbe Problem und versuchte, die Pods zu aktualisieren. Das Problem wurde aufgrund mehrerer Einträge in Build-Phasen -> Verknüpfen von Binärdateien mit Bibliotheken verursacht, bei denen sowohl die vorherige .a-Bibliothek als auch die aktuelle Bibliothek aufgelistet waren, während der vorherige nicht mehr vorhanden war. Das Entfernen der Bibliothek von dort löste das Problem.

2
Shardon

Ich hatte das gleiche Problem

pod-Installation und Pod-Update in der Befehlszeile beheben mein Problem

1
tamtoum1987

Dies war mein Problem beim Versuch, Firebase mit cocoapods in mein Xcode-Projekt zu integrieren. 

library not found for -lGoogleToolboxForMac
linker command failed with exit code 1 (use -v to see invocation)

Nach stundenlangem Suchen und Ausprobieren verschiedener im Stackoverflow aufgelisteter Fixes wurde mein Problem schließlich durch die folgenden Schritte behoben

  1. Gehen Sie zu Build Settings, suchen Sie nach Other Linker Flags, entfernen Sie alle Werte und erwarten Sie $(inherited)Image

Tun Sie dies für alle Ziele.

  1. Löschen Sie den Pod-Ordner. (ios/Pods)
  2. pod update

Voila! Alle Linker-Fehler sind weg.

1
Hariks

Dieses Problem im Zusammenhang mit lPods kann mithilfe der folgenden Schritte behoben werden

  • Wählen Sie Ihr Projektziel.
  • Gehen Sie zu "Build Phases" in "Link Binary With Libraries".
  • Entfernen Sie nun die ".a"-Datei der Bibliothek, die das Problem verursacht.
  • Reinigen und bauen.

Das wird funktionieren.

1
Abuzar Amin

Für mich ist das gearbeitet. Ich habe meinen App-Namen von someApp in otherApp geändert. Und ich verwende Kakaoschoten für die Integration mehrerer Services von Drittanbietern. Aus diesem Grund wurden 2 libPod-Dateien hinzugefügt (Da Name und Ziel der App geändert wurden). Schließlich musste ich einen libPod entfernen. Und es hat funktioniert.

target-> Erstellungsphasen-> Binär mit Bibliotheken verknüpfen 

Die untenstehende Lösung funktionierte für mich für die Core-Plot 2.3-Version . Nehmen Sie die folgenden Änderungen unter den anderen Linker-Flags vor.

1. Fügen Sie $ (geerbt) hinzu und ziehen Sie dieses Element an die oberste Position 2. Entfernen Sie das Präfix "Pods" von -l "Pods-fmemopen", "Pods-NSAttributedStringMarkdownParser" und -l "Pods-MagicalRecord".

wenn das Problem weiterhin besteht, prüfen Sie, ob PODS_ROOT gesetzt ist oder nicht. Sie können es unter dem benutzerdefinierten Abschnitt überprüfen.

1
Saikiran K

Auf meine Art

  1. neues Projekt erstellen und Installations-Pod installieren, es kann ohne Fehler ausgeführt werden.

  2. Kopieren Sie den Text unter "Andere Linker-Flags" in das neue Projekt in das alte Projekt. Altes Projekt zum selben neuen Projekt machen.

  3. Überprüfen Sie auch "Header Search Paths".

Ich habe den gleichen Fehler bekommen. 

Das Problem : Ich habe einen separaten Arbeitsbereich erstellt und mein vorhandenes Projekt hinzugefügt. Ich habe den Fehler erhalten, als ich an diesem Workspace gearbeitet habe.

Das Update : Später stellte ich fest, dass Workspace automatisch innerhalb des vorhandenen Projekts erstellt wird, wenn Abhängigkeiten hinzugefügt werden. Und müssen an diesem Arbeitsbereich arbeiten.

1
Vasanth

Wenn das Projekt CocoaPods verwendet, muss die .xcworkspace-Datei immer anstelle der .xcodeproj-Datei geöffnet werden. Wenn Sie .xcworkspace verwenden, installieren Sie die Pod-Datei neu, indem Sie die Pods entfernen. Setzen Sie die Pods erneut ein und installieren Sie sie !!! das hat für mich funktioniert 

0