Nachdem ich meine Firebase über "Pod Update" aktualisiert habe, wurde folgende Fehlermeldung angezeigt:
ld: warning: directory not found for option '-F/Users/bennysantoso/Library/Developer/Xcode/DerivedData/FCM-atfcxuircoryufazlomgwfgmvaqm/Build/Products/Debug-iphonesimulator/GoogleToolboxForMac'
ld: framework not found GoogleToolboxForMac
clang: error: linker command failed with exit code 1 (use -v to see invocation)
Hier mein Podfile:
# Uncomment this line to define a global platform for your project
# platform :ios, '9.0'
pod 'Firebase/Core'
pod 'Firebase/Messaging'
target 'BB' do
# Comment this line if you're not using Swift and don't want to use dynamic frameworks
use_frameworks!
# Pods for BB
target 'BBTests' do
inherit! :search_paths
# Pods for testing
end
target 'BBUITests' do
inherit! :search_paths
# Pods for testing
end
end
Kennt jemand diesen Fehler?
Ich suche nach Beziehungen zwischen GoogleToolboxForMac und Firebase, erhalte aber nur ein paar Informationen.
Zu Ihrer Information, ich benutze Swift 2.3 und Firebase 3.8.0.
Ich bin Ihnen für jede Hilfe dankbar. Vielen Dank!
Antworten:
Ich hatte den gleichen Fehler. Sobald Sie die Pods installiert haben, wird die folgende Meldung angezeigt.
Ich habe dies zum ersten Mal nicht bemerkt und versucht, das Projekt mit der regulären xcodeproj-Datei zu erstellen. Nachdem ich diese Nachricht gesehen hatte, öffnete ich das richtige Projekt und es funktionierte gut.
Sobald Sie dieses Projekt öffnen, werden Sie feststellen, dass Sie zwei Teilprojekte haben. Eines wäre Ihr Projekt und ein anderes wäre das Pods-Projekt.
quelle
Framework nicht gefunden
Bei der Verwendung von Pods tritt normalerweise dieses Problem auf.
Dafür gibt es zwei Hauptgründe
Wenn Nur aktive Architektur erstellen in den Build-Einstellungen auf Ja gesetzt ist
Dies gilt sowohl für das Projektziel als auch für alle Ziele im Pod-Projekt
Screenshot des Hauptprojekts
Screenshot des Pod-Projekts
Reinigen Sie Ihr Projekt und bauen Sie es neu auf.
quelle
In meinem Fall sind alle Integrationen gut gemacht und haben auch so oft versucht, den Pod zu entfernen und neu zu installieren, aber keinen Erfolg gehabt.
Versuchen Sie es schließlich mit dem folgenden Schritt
Und Erfolg haben.
quelle
GoogleToolboxForMac ist eine Abhängigkeit von Firebase / Messaging. Details in der Podspec . Wenn Sie ein "Pod-Update" durchführen, sollten Cocoapods Ihren Arbeitsbereich so einrichten, dass GoogleToolboxForMac erstellt und verknüpft wird.
Es hört sich so an, als ob sich etwas an Ihrem Arbeitsbereich in einem schlechten Zustand befindet. Hilft Produkt -> Reinigen? Was ist mit dem Löschen abgeleiteter Daten und des ModuleCache (Xcode -> Einstellungen -> Speicherorte -> abgeleitete Daten)?
Es sollte nicht notwendig sein, aber Sie können auch versuchen, Ihrem Podfile explizit den Pod 'GoogleToolboxForMac / Logger' hinzuzufügen.
quelle
quelle
Dies wurde durch Hinzufügen von $ (geerbt) in den Build-Einstellungen -> Suche nach LIBRARY_SEARCH_PATHS behoben.
Dies ist verständlich, da beim Aktualisieren Ihrer Pod-Datei für die neuesten Versionen von Bibliotheken, von denen Ihr Projekt abhängt, die Debug-Ausgabe angibt, wo Sie alle $ (geerbten) Flags hinzufügen müssen: LIBRARY_SEARCH_PATHS OTHER_LD_FLAGS GCC_PREPROCESSOR_DEFINITIONS
quelle
Gehen Sie zu:
target -> Build Settings -> Other Linker Flags -> remove framework "GoogleToolboxforMAC"
und erstellen Sie das Projekt.quelle
Ich hatte das gleiche Problem, als ich versuchte, es auf meinem Gerät auszuführen. Auf dem Simulator funktionierte es gut. Ich habe einige der oben genannten Versuche unternommen, aber es hat bei mir nicht funktioniert. Ich habe überprüft, ob ich
.xcworkspace
anstelle der.xcodeproj
Datei arbeite , also habe ich diese ausprobiert. Befolgen Sie diese Schritte, um:Hinweis: Es ist dasselbe wie das, was Sie eingestellt haben
Project->Targets->Deployment info->Deployment Target
.Vielleicht profitiert jemand davon.
quelle
Wenn in Ihrem XCode derselbe Fehler auftritt, gehen Sie zu:
Ihr Projekt > Ihr Ziel > Scrollen Sie nach unten zu Linked Framework und Bibliotheken und prüfen Sie, ob der Bibliothekseintrag abgeblendet ist:
Wenn ja, entfernen Sie es und fügen Sie es erneut hinzu. In meinem Fall hatte ich doppelte Einträge und einer davon wurde abgeblendet (wenn XCode sie nicht auf der Festplatte finden kann).
quelle
Das Projekt, das ich nach der Pod-Installation erstellen wollte, wurde geschlossen, dann der .workspace geöffnet und dann wurde alles perfekt erstellt.
quelle
Öffnen Sie den Arbeitsbereich your-project.xcwork in Ihrem Projektziel.
1) Öffnen Sie das Terminal -> 2) $ cd / project_destination -> 3) $ open your-project.xcworkspace
oder öffnen Sie einfach die Datei im Finder
quelle
Stellen Sie sicher, dass Ihre "Build Active Architecture-Einstellungen" für Ihr Projektziel und den Pod identisch sind. Das Setzen von NEIN in beiden Fällen hat mein Problem behoben.
quelle
Mein Problem war, dass ich ein / bin / sh-Skript hatte, das bestimmte Pods kopierte, die es nicht gab. Dies war einer von ihnen. Durch Entfernen des Skripts wurde das Build-Problem behoben.
quelle
-Ich suche auf der Festplatte nach den GoogleToolboxForMac-Dateien, gefunden in: / Users / Marco / Documents / iosapps / BomRetiro / Bom Retiro / Pods / Target-Support-Dateien
Und dann ist für mich gelöst, das Projekt usinf .xcworkspace-Datei zu öffnen.
quelle
Für diejenigen, die nach all dem noch Probleme haben. Ich arbeite an einem Cordova-Projekt und das Problem trat plötzlich nach dem Upgrade auf XCode 11.5 auf.
Schließlich konnte ich es lösen, indem ich die Datei pods.json im Projektstamm öffnete und den Eintrag in "Bibliotheken" entfernte, der zu "FirebaseMessaging" gehört. Wir haben das nicht benutzt und ich weiß nicht, wie es dahin gekommen ist. Außerdem habe ich die "Build-Einstellung" -> "Nur aktive Architektur erstellen" überall auf "Nein" geändert.
Danach habe ich die .xcworkspace-Datei erneut geöffnet und der Build wurde durchlaufen.
quelle
Swift 5 Einfache Antwort
quelle
quelle