Ich versuche, meinem IOS - Projekt ein Framework hinzuzufügen, aber beim Erstellen habe ich immer die gleiche Nachricht erhalten:
ld: Framework nicht gefunden Pods
clang: Fehler: Linker-Befehl mit Exit-Code 1 fehlgeschlagen (verwenden Sie -v, um den Aufruf anzuzeigen)
Ich habe versucht, mein Pods
-Verzeichnis zu entfernen und dann pod install
.__ auszuführen. Ich öffne den .xcworkspace
wie er in den Protokollen der Pod-Installation steht. Ich säubere das Projekt auf xcode und versuche dann zu bauen, aber es funktioniert nicht.
Meine Poddatei sieht so aus:
xcodeproj '/Users/guillaume/project/Mobile/iOS/FoodPin/FoodPin.xcodeproj'
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
pod 'SwiftHTTP', '~> 0.9.2'
Meine Version von Xcode ist 6.3.1
Vielen Dank,
In Project Navigator
im Ordner Pods
hatte ich einen Pods.framework
, der rot war. Es war auch in Linked Frameworks and Libraries
vorhanden. Ich habe beide Referenzen entfernt und der Fehler ist verschwunden.
TL; DR
Pods.framework
entfernen in:
Pods
Linked Frameworks and Libraries
Dies wird normalerweise dadurch verursacht, dass die .xcodeproj-Datei anstelle von .xcworkspace geöffnet ist.
Wenn Sie 'pod install' zum ersten Mal ausführen, wird eine .xcworkspace-Datei erstellt, die Ihr ursprüngliches .xcodeproj und ein Pods-Projekt enthält. Sie müssen Ihr .xcodeproj schließen und stattdessen den .xcworkspace öffnen.
Dies ist ein häufiges Problem, wenn Sie ein Projekt mit dem neuen Projektassistenten von Xcode erstellen. Oft vergesse ich, dass ich mich nicht in einem Arbeitsbereich befinde.
Xcode 9 oder 10
install https://github.com/CocoaPods/cocoapods-deintegrate
pod deintegrate
dann
pod install
Ich habe diesen Fehler behoben, indem ich die roten .framework
-Dateien gelöscht habe, die sich in einem Ordner Frameworks
im project navigator
befanden. Ich denke, dies löschte auch automatisch die entsprechenden roten Einträge im Abschnitt Linked Frameworks and Libraries
der General
-Einstellungen.
Ich habe die Pods gereinigt/neu installiert, um ein anderes Problem zu beheben. Vielleicht waren diese roten Rahmendateien und -einträge von einer vorherigen Pod-Installation übrig geblieben?
Für die, die dieses Problem finden. Ich verwende NativeScript und erhielt den gleichen Fehler.
Das passiert, weil ich die Datei .xcodeproj geöffnet habe, aber wir müssen das Projekt über die Datei .xcworkspace öffnen.
Dies ist mir passiert, nachdem ich mein Podfile aktualisiert und ein Pod-Update durchgeführt habe.
Aus irgendeinem Grund hatte ich eine "Pods_ [ProjectName]". Framework-Datei unter meinem Projekt unter "Ziele"> "Allgemein"> "Verknüpfte Frameworks und Bibliotheken".
Das Löschen dieses Problems und das anschließende Bereinigen/Wiederherstellen beseitigte das Problem.
Ich habe diese Fehlermeldung erhalten, weil ich mein Projekt umbenannt und den Namen des Projekts in der Pod-Datei geändert habe. Mein Projekt bezog sich jedoch auf den alten Namen, der nicht vorhanden war, und verursachte diesen Fehler. Ich werde das durch loswerden
pod deintegrate
gefolgt von
pod install
Ich hatte ein ähnliches Problem wie
framework not found Pods_OneSignalNotificationServiceExtension
Es wurde behoben, indem Folgendes entfernt wurde. Gehen Sie zu target OneSignalNotificationServiceExtension> Phasen erstellen> Binär mit Bibliotheken verknüpfen und Pods_OneSignalNotificationServiceExtension.frameworklöschen Hoffe das hilft. Prost.
Entfernen Sie einfach Ihr .framework aus der Liste "Ihr Projekt -> Allgemein -> Verknüpftes Framework und Bibliotheken".
In meinem Fall kann ich es auf Geräten und Simulator aufbauen, hat aber die gleichen Fehler beim Archivieren. Um es zu lösen, muss ich
Pods.framework
entfernenPods-<project-name>.framework
eingebettet istSie finden die Einstellungen in TARGETS -> Linked Frameworks and Libraries.
Sie versuchen höchstwahrscheinlich, dass die Pods in Ihr Projekt einfließen, oder? Die einzige Möglichkeit, dies zu tun, ist das Erstellen eines separaten Projekts, das CocoaPods verwendet.
Schließen Sie alle von Ihnen verwendeten Arbeitsbereiche.
Stellen Sie als Nächstes sicher, dass Sie Ihre Pod-Datei vollständig bereit haben.
Geben Sie in der Befehlszeile den Befehl ein:
pod deintegrate
Installieren Sie dann Ihren Pod-Agian.
pod install or pod update
Jetzt können Sie den neuen Arbeitsbereich Ihres Projekts zur Entwicklung verwenden. Suchen Sie nach einer Datei namens .workspace. Verwenden Sie diese Datei!
Hier ist eine Anleitung zur Verwendung von CocoaPods
Schritt 1
Zuerst müssen Sie die Pod-Datei, Pod-Datei.lock, den Ordner "Pods" und den generierten Arbeitsbereich entfernen.
Schritt 2
Entfernen Sie anschließend im .xcodeproj die Verweise auf die Dateien Pods.xcconfig und die Datei libPods.a.
Schritt 3
Löschen Sie auf der Projektregisterkarte Build Phases den Abschnitt Check Pods Manifest.lock (Öffnen), Abschnitt Pod-Ressourcen kopieren (unten) und Pod-Ressourcen einbetten (unten).
Schritt 4
Entfernen Sie Pods.framework.
Das einzige, was Sie vielleicht tun möchten, ist einige der Bibliotheken, die Sie zuvor verwendet haben. Sie können dies tun, indem Sie einfach alle Ordner, die sich in den Pod-Ordnern befinden, in Ihrem Projekt ablegen (ich ziehe es vor, sie in den Ordner Unterstützende Dateien zu legen).
Es hat für mich funktioniert.
Mit Xcode 8.3 funktionierte die akzeptierte Antwort für mich nicht. Ich hatte viele andere Lösungen ausprobiert, aber die Antwort von @Elliott Davies war für mich das Richtige. Ich füge aus Gründen der Übersichtlichkeit einen Screenshot hinzu. Aus irgendeinem Grund hat Xcode versucht, nicht mehr vorhandene Pod-File-Setups zu verknüpfen. Ich musste nur die zusätzlichen Referenzen löschen und alles funktionierte.
Dieses Thema hat mich verrückt gemacht, da es plötzlich ohne Änderungen am Projekt passiert ist. Ich habe alle Lösungsvorschläge in diesem Thread (und anderen verwandten Themen) ausprobiert und keiner von ihnen löste das Problem.
Das einzige, was sich von meinen anderen Projekten unterschied (die gut zusammengestellt wurden) war, dass dieser Projektname einen Akzent enthielt (ein französischer Akzent, "é"). Ich habe das Projekt und alle dazugehörigen Dateien umbenannt und es hat endlich funktioniert!
Vielleicht hängt dies mit der Aktualisierung auf Xcode 10 zusammen, weil dieses Projekt zuvor gut funktioniert hat ...
BEARBEITEN: Es scheint auch fehlzuschlagen, wenn ein Projekt mit -
im Projektnamen verwendet wird.
Ich habe dieses Problem behoben, indem ich das Projekt ausgewählt habe, das von CocoaPods
heruntergeladen und erstellt wurde. Sie können auf Schemas verwalten klicken, damit es in der Ausführungsleiste angezeigt wird. Dann können Sie Ihr Projekt neu aufbauen. Ich hoffe es hilft.
So behebe ich mein Problem. und es funktioniert jetzt, wenn ich diese Antwort schreibe:
Erstens, ich versuche es so fest wie möglich.
Entfernen von Pods_xxx.framework aus den Linkbibliotheken und dem Framework in den Erstellungsphasen des Ziels ist hilfreich und das Problem verschwindet, aber das Problem ist, dass ich das Pods.framework nicht mehr importieren kann.
Und dann versuche ich, die xcworkspace-Konfiguration neu zu starten, damit ich das eigentliche Problem herausfinden kann. Also renne ich
pod deintergate
und installiere dann meinen Pod erneut:
pod install
diese Arbeit einwandfrei, aber das Problem ist immer noch da, aber ich finde heraus, dass das eigentliche Problem ist, dass Pods_xxx.framworks nicht kompiliert werden kann. Erfolgreich durch das Build-Skript von cocoapods. Ich denke, das ist der wahre Weg, um das Problem zu beheben.
Schließlich versuche ich, das Schema meines Projekts zu bearbeiten:
und ich füge Pods Schema in verwalten:
wenn Sie dieses Pods.framework separat erstellen, wird das Pods.framework-Symbol wieder zu einem echten Symbol:
und ich denke jetzt hast du dein "framework not found Pods_xxxx.framework" Problem behoben, aber tatsächlich habe ich ein anderes Problem:
also gehe ich zur Build-Einstellung und bearbeite den "Framework Search Path"
mit "${inherited}"
, und jetzt gehen alle Probleme aus, Prost !!!! :)
Löschen Sie den Rahmenordner, der nach der Installation oder Aktualisierung des Pods erstellt wurde
Musste laufen
pod deintegrate
Danach musste ich die .xcworkspace-Datei entfernen und pod install ausführen. Danach funktionierte alles
Ich habe dieses Problem gelöst, indem ich die .framework
-Datei in das Linked Framework and Libraries gezogen habe.
Angenommen, ich hatte dieses Problem aufgrund eines Fehlers FIRAnalyticsConnector not found
und ziehe die FIRAnalyticsConnector.framwork
-Datei einfach auf Linked Framework and Libraries und mein Problem ist gelöst
In meinem Fall habe ich diese Zeile in meinem Podfile bemerkt, nachdem ich den Unterschied zwischen einem Zweig verglichen hatte, von dem ich wusste, dass er korrekt aufgebaut war:
platform :ios, '11.0'
Ich hatte versehentlich meine Zielversion von 10 auf 11 erhöht, während meine Ziele in Xcode auf 10 gesetzt blieben. Die Rückkehr auf 10 löste mein Problem für mich.
Stellen Sie sicher, dass Ihre Ziel-iOS-Versionen richtig eingestellt sind.
Eine andere Sache, die mein Problem gelöst hat, ist unter Target -> Build Settings -> Other linker Flags zu gehen und das "-framework" und den Namen Ihres Frameworks zu löschen.
Es passierte, als ich versuchte, eine Schote zu entfernen.
Nach dem Entfernen und Aktualisieren des Pods hatte ich immer noch dasselbe Problem.
Ich habe festgestellt, dass der frühere Entwickler das Flag in ' Build Settings -> Other Linker Flags ' mit dem Framework-Namen (in meinem Fall -Framework 'OGVKit') gesetzt hat, der das Problem verursacht hat.
Nach dem Löschen dieses Flags wird das Projekt ordnungsgemäß erstellt.
Ich habe hier jede Antwort ausprobiert und keine davon hat funktioniert. Am Ende konnte ich das Bereitstellungsziel von 10.0 auf 11.0 erhöhen. Ich habe keine Ahnung, warum das behoben wurde, aber ich vermute, es hat mit dem Upgrade auf Xcode 10.2.1 zu tun.
Wenn Sie die .xcworkspace-Datei geöffnet haben und immer noch den gleichen Fehler erhalten haben:
delete all the contents of Pods directory and from command line write "pod install" to resolve the issue.
Bitte überprüfen Sie Ihre ausführbare Datei in .Framework wie
Der Name der ausführbaren Datei sollte ohne Erweiterung lauten.
Verwenden Sie im Terminal-Verzeichnis goto .framework den folgenden Befehl: lipo -create FrameworkName-x86_64 FrameworkName-armv7 FrameworkName-armv7s FrameworkName-i386 FrameworkName-arm64 -output FrameworkName
nach dem Erstellen einer einzelnen ausführbaren Datei löschen Sie diese Dateien
Dieses Problem ist aufgetreten, weil ich die platform
nicht richtig eingestellt habe.
In meiner macOS-App hatte ich also folgende Plattform:
platform :ios
anstatt
platform :osx