Ich implementiere FB Login, also habe ich das SDK von https://developers.facebook.com/docs/ios heruntergeladen . dann i drag n nach unten FBSDKCoreKit
, FBSDKLoginKit
und FBSDKShareKit
Frameworks in mein Projekt.
Wenn ich das Projekt ausgeführt habe, funktioniert es einwandfrei. aber wenn ich es geschlossen und wieder geöffnet habe, "FBSDKCoreKit/FBSDKCoreKit.h not found error"
erscheint es. dann wieder kopiere ich einfügen FBSDKCoreKit
Framework in die Bibliothek meines Projekts und Fehler verschwinden und dieser Prozess geht weiter. Hat jemand dieses Problem schon einmal gesehen?
Was soll ich tun, um diesen Fehler zu beheben?
ios
frameworks
M Swapnil
quelle
quelle
Antworten:
Stellen Sie sicher, dass Sie diesen Schritt ausführen:
Deaktivieren Sie "Elemente in den Ordner der Zielgruppe kopieren". https://developers.facebook.com/docs/ios/getting-started/
Sehen Sie sich in Ihren Build-Einstellungen auch das folgende Feld an: "Framework-Suchpfade" Sie sollten ungefähr Folgendes haben:
/Users/[username]/Documents/FacebookSDK
oder für eine allgemeinere Konfiguration
~/Documents/FacebookSDK
Schauen Sie sich auch Finder an und stellen Sie sicher, dass das Framework tatsächlich vorhanden ist
quelle
Nach dem Update
Cocoapods 1.0.0
habe ich gelöschtpod.lock
und die aktuellen stabile pod Versionen installiert ist (4.7.0
zu4.11.0
) vonFBSDKCoreKit
,FBSDKLoginKit
,FBSDKShareKit
Dann stoße ich auf den gleichen Fehler. Was ich getan habe war:
Header-Suchpfade hinzugefügt Build-Einstellungen in Xcode:
"${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK\" "${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK/FacebookSDK\" "${PODS_ROOT}/Headers/Public/FBSDKCoreKit\" "${PODS_ROOT}/Headers/Public/FBSDKCoreKit/FBSDKCoreKit\"
Dann hatte ich noch Fehler für eine andere Datei. Weil XCode Prebuild-Frameworks verwendet.
Führen Sie diesen Befehl im Terminal aus
rm -rf ~/Library/Developer/Xcode/DerivedData
Öffnen Sie XCode und erstellen Sie erfolgreich
quelle
Ich musste dieses Problem lösen, indem ich das Framework löschte und erneut hinzufügte, indem ich mit der rechten Maustaste auf das Projekt-> Dateien hinzufügen ... klickte, dann das Framework auswählte und die Option zum Kopieren von Dateien bei Bedarf auswählte. Ich weiß, dass es nicht das ist, was Facebook empfiehlt, aber ich konnte es nicht zum Laufen bringen, aber so hat es funktioniert! Ich verwende v4.6 von FBSDK und Xcode 7 Beta 6. Ich hoffe, es hilft Ihnen und allen anderen, die vor dem gleichen Problem stehen :)
quelle
Das hat mich auch stundenlang geschmerzt! Endlich habe ich das Grundproblem gefunden.
Das Facebook SDK MUSS sich unter ~ / Documents / FacebookSDK befinden
Dies liegt daran, dass dieser Pfad im RCTFBSDK-Projekt fest codiert ist. Sie können Ihren benutzerdefinierten Speicherort jedoch hinzufügen, indem Sie ihn zu den Framework- Suchpfaden des RCTFBSDK- Projekts hinzufügen (er wird in der Fehlerkonsole angezeigt)!
quelle
System Framework Search Paths
anstelle vonFramework Search Paths
FB-Entwickler sagen , wählen Sie keine Kopierdateien aus . Was Probleme schafft. Aber ich habe das Gegenteil getan .
Ich habe bei Bedarf Kopierelemente ausgewählt. Es hat Frameworks in mein Projekt kopiert. Auch wurde automatisch
Search Path
von hinzugefügtxcode 7.2
.Auch überprüfen , wenn es nichts in
Framework Search Paths
unterSearch Paths
unterBuild Settings
Feldern, dann fügen Sie einfach $ (project_dir), die / Benutzer gleich / user / Documents / .... PROJECT..DIR ...In 2 Projekten erfolgreich kompiliert.
quelle
Ich musste den FacebookSDK-Pfad in Framework-Suchpfaden über $ (PROJECT_DIR) verschieben.
quelle
Wenn eine der oben genannten Antworten nicht funktioniert hat, versuchen Sie Folgendes:
Öffnen Sie Ihren
~/Documents/FacebookSDK
Ordner. Überprüfen Sie, ob dieses Wolkensymbol rechts neben den Dateinamen vorhanden ist:In diesem Fall hat macOS Ihre Dateien von Ihrem Computer entfernt und auf iCloud hochgeladen! (danke Apple)
Sie können:
quelle
Empfohlene Schritte:
3) Stellen Sie sicher, dass der Framework-Suchpfad der Build-Einstellungen Ihres Build-Ziels lautet
$(HOME)/Documents/FacebookSDK
anstatt
~/Documents/FacebookSDK
Wenn es bei Ihnen immer noch nicht funktioniert, dann:
1)
sudo chmod -R 755 ~/Documents/FacebookSDK
2) Setzen Sie den Pfad des Framework-Suchpfads von RCTFBSDK.xcodeproj auf
(unter den Bibliotheken Ihres Projektordners) Legen Sie den RCTFBSDK-Framework-Suchpfad wie hier fest
quelle
Lösung des Problems, wenn Ihr FacebookSDK anders ist als
Weil Sie nicht möchten, dass iCloud Drive mit FacebookSDK geladen wird. Sie müssen die "Framework-Suchpfade" für die hinzugefügten ändern
Dies liegt daran, dass im RCTFBSDK.xcodeproj in Libraires; Pfad ist fest codiert. Sie können Ihren benutzerdefinierten Speicherort jedoch hinzufügen, indem Sie ihn zu den Framework-Suchpfaden des RCTFBSDK-Projekts hinzufügen.
quelle
Ich hatte das gleiche Problem. Ich habe es behoben, indem ich Anführungszeichen um meinen Framework-Suchpfadwert verwendet habe, dh "/ Users / .....". Offensichtlich habe ich einige Leerzeichen in meinen Dateipfaden.
quelle
Ich habe das gleiche Problem. Ich verwende Facebook SDK Version 4.10.0.
Ich wusste, dass meine Lösung nicht gut ist, aber sie hat für mich funktioniert. Ich habe den Facebook-Quellcode geändert. Der Pfad der Importdatei wurde von
#import <FBSDKCoreKit/FBSDKCoreKit+Internal.h>
nach geändert#import <FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h>
quelle
Xcode 11 + CocoaPods-Lösung
Im Stammverzeichnis Ihres Projekts, dh auf demselben Pfad, auf dem MyApp.xcworkspace Terminal- und Init-Pods geöffnet hat
pod init
, fügen Sie die erforderlichen FBSDK-Pods hinzu. SiePodfile
sollten ungefähr so aussehen:# Uncomment the next line to define a global platform for your project # platform :ios, '9.0' target 'MyApp' do # Comment the next line if you don't want to use dynamic frameworks use_frameworks! # Pods for MyApp pod 'FBSDKCoreKit' pod 'FBSDKLoginKit' pod 'FBSDKShareKit' end
pod install
Öffnen Sie nun in Ihrem Terminal MyApp.xcworkspace ( nicht MyApp.xcodeproj ). Gehen Sie zuMyApp
->Build Phases
->Link Binary with Libraries
und Sie sollten am Ende der Liste der Frameworks sehenPods_MyApp.framework
. Wenn Sie+
unten klicken würdenPods_MyApp.framework
, sollten Sie in einem neuen Fenster unterWorkspace
einer ListePods
angeben, wo sich alle mit FBSDK verbundenen Elemente befinden sollten.Hinweis: Stellen Sie sicher, dass Sie FBSDK und nicht Facebook SDK installieren , da das zweite veraltet ist.
quelle
Mit CocoaPods hat es mir nur geholfen :
Aktualisieren Sie die Header-Suchpfade ( NICHT Framework-Suchpfade ) unter Build-Einstellungen in Xcode:
- "\"${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK\"",
- "\"${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK/FacebookSDK\"",
+ "\"${PODS_ROOT}/Headers/Public/FBSDKCoreKit\"",
+ "\"${PODS_ROOT}/Headers/Public/FBSDKCoreKit/FBSDKCoreKit\"",
Fügen Sie die fehlenden Header hinzu:
cd Pods/Headers/Public/FBSDKCoreKit/FBSDKCoreKit/ && ln -s ../../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h FBSDKCoreKit+Internal.h
Bearbeiten: Punkt 2. muss anscheinend nach jedem folgenden Aufruf an wiederholt werden
pod install
.quelle
Für Xcode 7.3 hat das Folgende für mich funktioniert. Befolgen Sie die in der FB-Anleitung genannten Schritte und führen Sie zusätzlich die folgenden Schritte aus:
Schritt 1. Gehen Sie zum Ordner Dokument / FacebookSDK
Schritt 2. Klicken Sie auf FBSDKCoreKit.framework
Schritt 3. Entfernen Sie in diesem Ordner den Ordner "Module" und ziehen Sie ihn in Ihr Xcode-Projekt.
Referenzen: https://stackoverflow.com/a/29532202
Vielen Dank
quelle
Für Personen , die von wechseln
Carthage
,Cocoapods
um sicherzustellen, dass dieCarthage
Verweise des FBSDKCoreKit aus derLink Binary With Libraries
Option unter Phasen erstellen entfernt werden .quelle
Ich hatte ein ähnliches Problem und konnte den Compilerfehler trotzdem nicht beheben.
Ich folgte und führte einige Male die genauen Integrationsschritte aus, bis ich bemerkte, dass ich eine Kopie des FBSDKCoreKit.framework in meinem Projektordner habe (wahrscheinlich aus Versehen) . Darüber hinaus enthalten die Framework- Suchpfade neben / Users / {Benutzername} / Documents / FacebookSDK bereits $ (PROJECT_DIR) .
So habe ich entfernt die Kopie des FBSDKCoreKit.framework aus dem Verzeichnis des Projekts und jetzt funktioniert alles einwandfrei .
quelle
Ich bin gestern Abend auf dieses Problem gestoßen und wollte meine Lösung veröffentlichen, falls jemand anderes das gleiche Problem hat. Mein Problem war, dass meine App in der Sim und auf meinem Gerät einwandfrei erstellt und ausgeführt wurde. Der Build schlug jedoch aufgrund von FBSDKCoreKit fehl, wenn ich versuchte, meine Komponententests auszuführen. Ich brauchte ungefähr 30 Minuten, um das Problem zu finden, und fühlte mich dabei wie ein Dummy.
Stellen Sie sicher, dass das FBSDKCoreKit-Bundle auch für Ihre Tests vorgesehen ist und nicht nur für Ihre reguläre Anwendungserstellung.
quelle
Ich hatte dieses Problem beim Upgrade auf Xcode 8 und konnte es durch Ändern lösen
#import <FBSDKCoreKit / FBSDKCoreKit.h>
zu
#import <FBSDKCoreKit/FBSDKCoreKit.h>
quelle
Wenn Sie das Verzeichnis zu Ihren Build-Einstellungen -> "Framework-Suchpfade" hinzufügen, stellen Sie sicher, dass Sie es sowohl zu Debug als auch zu Release hinzufügen.
Dummer Fehler, aber wenn Sie neu bei iOS dev in xcode sind, könnten Sie dies verpassen.
quelle
Persönlich hatte ich Probleme mit Leerzeichen in verschiedenen Pfaden, einschließlich des App-Namens. Das Entfernen von Leerzeichen (oder das Hinzufügen von "" überall zu sicheren Pfaden) löste das Problem.
quelle
Ich hatte ein ähnliches Problem. Die Korrektur bestand für mich in der Auswahl von "DATEIEN KOPIEREN, WENN ERFORDERLICH" beim manuellen Hinzufügen der verschiedenen Frameworks zum XCode-Framework.
quelle
Ich habe das Framework in den Framework-Ordner in xcode gezogen, bei Bedarf Dateien kopiert und alles hat ohne weitere Konfigurationsänderungen einwandfrei funktioniert.
quelle
Ich habe react-native-fbsdk und link mit react-native-link react-native-fbsdk installiert.
Folgen Sie den Anweisungen des folgenden Links
https://developers.facebook.com/docs/react-native/configure-ios
Dies bietet die Möglichkeit, eine reaktionsnative Bibliothek mit ios_setup.js zu verknüpfen. Es gibt den folgenden Schritt, dem ich gefolgt bin.
Setup auf Facebook Entwickler Konto .
Installieren Sie die Datei ios_setup.js, indem Sie den folgenden Befehl an einer Eingabeaufforderung im Stammordner Ihres Projekts ausführen.
curl -O https://raw.githubusercontent.com/facebook/react-native-fbsdk/master/bin/ios_setup.js
npm install plist xcode adm-zip
node ios_setup.js [App ID] [App Name]
Wenn der Knoten ios_setup.js ausgeführt wird, werden automatisch alle Dateien in ios verknüpft.
quelle
Nach der Fehlerbehebung mit mehreren Antworten hier. Das habe ich getan.
~/Documents/FacebookSDK
zu"$(HOME)/Documents/FacebookSDK"
beachten : Ich habe Anführungszeichen verwendet"
"$(HOME)/Documents/FacebookSDK"
den Header-Suchpfaden an den Anfang der Liste gerückt.quelle
Hatte den gleichen Fehler in
FBSDKLoginKit
Wenn Sie mehrere Pod-Projekte verwenden
install! 'cocoapods', :generate_multiple_pod_projects => true
Dann sollten Sie Cocoapods zwingen, alle FBSDK-Pods in einem Projekt zu platzieren, um private Header sichtbar zu machen
pod 'FBSDKCoreKit', '5.11.0', :project_name => 'FBSDK' pod 'Bolts', '1.9.0', :project_name => 'FBSDK' pod 'FBSDKShareKit', '5.11.0', :project_name => 'FBSDK' pod 'FBSDKLoginKit', '5.11.0', :project_name => 'FBSDK'
quelle
-> Build-Konfiguration.
-> Framework Search paths.
Legen Sie das FacebookSDK-Verzeichnis in meinem Fall ~ / Documents / FacebookSDK in:
Debuggen ,
Jede Architektur I Jede Sdk ,
Lassen Sie los .
Besonders dieser Fehler, weil es in meiner Architektur keinen Pfad für eine beliebige Architektur gibt
~ / Documents / FacebookSDK und es sollte beachtet werden, dass sich der FacebookSDK-Ordner in Domuments befinden muss
Beispiel
https://photos.app.goo.gl/5bD4d39a11AalYsx1
quelle
Ändern Sie das
/Users/[username]/Documents/FacebookSDK/
VerzeichnisDocuments/FacebookSDK
wie folgt:quelle