it-swarm.com.de

FBSDKCoreKit/FBSDKCoreKit.h Fehler nicht gefunden

Ich implementiere FB Login, also habe ich das SDK von https://developers.facebook.com/docs/ios ..__ heruntergeladen. Dann ziehe ich n Variablen FBSDKCoreKit, FBSDKLoginKit und FBSDKShareKit in mein Projekt.

wenn ich ein Projekt lief, funktioniert es gut. aber wenn ich es schließe und wieder öffne, erscheint "FBSDKCoreKit/FBSDKCoreKit.h not found error". dann wieder kopiere ich das _FBSDKCoreKit-Framework in die Bibliothek meines Projekts und Fehler verschwinden und dieser Prozess wird fortgesetzt. vor diesem Problem?

was soll ich tun, um diesen Fehler zu beheben?

69
M Swapnil

Stellen Sie sicher, dass Sie diesen Schritt ausführen:

Deaktivieren Sie die Option Elemente in den Ordner der Zielgruppe kopieren. https://developers.facebook.com/docs/ios/getting-started/

Sehen Sie sich auch in Ihren Build-Einstellungen dieses Feld an: "Framework Search Paths" Sie sollten etwa Folgendes haben:

/Users/[username]/Documents/FacebookSDK

oder für eine allgemeinere Konfig

~/Documents/FacebookSDK

Schauen Sie sich auch den Finder an und stellen Sie sicher, dass das Framework tatsächlich vorhanden ist

91
etayluz

Nach der Aktualisierung von Cocoapods 1.0.0 löschte ich pod.lock und installierte die aktuellen Stable-Pod-Versionen (4.7.0 bis 4.11.0) von FBSDKCoreKit, FBSDKLoginKit, FBSDKShareKit.

Dann stoße ich auf den gleichen Fehler. Was ich gemacht habe war:

  1. Header-Suchpfad-Erstellungseinstellungen in Xcode hinzugefügt:

    "${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 vorgefertigte Frameworks verwendet.

FBSDKCoreKit/FBSDKCopying.h nicht gefunden

  1. Clean Build -> ⇧⌘K (Umschalt + Befehl + K) - zum Reinigen von erstellten Frameworks.
  2. Clean Build Folder -> ⌥⇧⌘K (Wahltaste + Umschalt + Befehlstaste + K)
  3. Schließen Sie Xcode // wichtig! - Andernfalls werden die DerivedData für das aktuell geöffnete Projekt automatisch neu erstellt
  4. Führen Sie diesen Befehl im Terminal aus

    rm -rf ~/Library/Developer/Xcode/DerivedData
    
  5. Öffnen Sie XCode und erstellen Sie erfolgreich

58
Mihriban Minaz

Um dieses Problem zu lösen, lösche ich das Framework und füge es erneut hinzu, indem Sie mit der rechten Maustaste auf das Projekt-> Dateien hinzufügen ... klicken. Ich weiß, es ist nicht das, was Facebook empfiehlt, aber ich konnte es nicht zum Laufen bringen, aber auf diese Weise hat es funktioniert! Ich verwende v4.6 von FBSDK und Xcode 7 beta 6 ..__ und alle anderen, die das gleiche Problem haben :)

34
maufadel

Das hat mir auch stundenlang Schmerzen gekostet! Endlich fand ich das Wurzelproblem.

Das Facebook SDKMUSSunter ~/Documents/FacebookSDK liegen

Dies liegt daran, dass dieser Pfad im RCTFBSDK-Projekt fest codiert ist. Sie können jedoch Ihren benutzerdefinierten Speicherort hinzufügen, indem Sie ihn den Framework Search Paths des ProjektsRCTFBSDKhinzufügen (dies wird in der Fehlerkonsole angezeigt)!

16
appsthatmatter

FB-Entwickler sagen keine Kopie auswählen Dateien. Welches schafft Problem. Aber ich habe das Gegenteil getan.

  1. Bei Bedarf habe ich Kopien ausgewählt. Es kopierte Frameworks in mein Projekt. Auch automatisch wurde Search Path Von xcode 7.2 Hinzugefügt.

  2. Überprüfen Sie auch, ob sich in Framework Search Paths Unter Search Paths Unter Build Settings Nichts befindet. Fügen Sie dann einfach $ (PROJECT_DIR) hinzu, das/Users/user/Documents/.. entspricht. ..PROJECT..DIR ...

In 2 Projekten erfolgreich kompiliert.

7
karan

Ich musste den FacebookSDK-Pfad in Framework Search Paths über $ (PROJECT_DIR) verschieben.

$(SRCROOT)/../../../Documents/FacebookSDK
$(inherited)
$(PROJECT_DIR)
5
user9728668

Wenn eine der obigen Antworten nicht funktioniert hat, versuchen Sie Folgendes:

Öffnen Sie Ihren ~/Documents/FacebookSDK-Ordner . Überprüfen Sie, ob sich dieses Wolkensymbol rechts neben den Dateinamen befindet:

 screenshot.png

In diesem Fall hat macOS Ihre Dateien von Ihrem Computer entfernt und in iCloud hochgeladen! (Danke Apple)

Sie können:

  1. Klicken Sie auf alle Cloud-Symbole. Die Dateien werden zurück heruntergeladen
  2. Deaktivieren Sie die Speicheroptimierung auf Ihrem Mac, um ein erneutes Auftreten zu verhindern
3
Bruno Lemos

Lösung für das Problem, wenn Ihre FacebookSDK anders ist als 

~/Dokumente/FacebookSDK

Da Sie nicht möchten, dass iCloud Drive mit FacebookSDK; Geladen wird, müssen Sie die "Framework Search Paths" für die hinzugefügten ändern 

reag-native-fbsdk

Dies liegt daran, dass in RCTFBSDK.xcodeproj in Libraires; Pfad ist fest codiert. Sie können Ihren benutzerdefinierten Speicherort jedoch hinzufügen, indem Sie ihn den Framework Search Paths des RCTFBSDK-Projekts hinzufügen.

  1. Wählen Sie das Projekt aus
  2. Bibliotheken
  3. Wählen Sie "RCTFBSDK.xcodeproj" aus.
  4. Einstellungen erstellen
  5. Fügen Sie Ihren benutzerdefinierten Pfad in "Framework Search Paths" Hinzu. Beispiel:/Users/rajanmaharjan/FacebookSDK
  6. Clean Build -> ⇧⌘K (Umschalt + Befehl + K) - Zum Bereinigen von Build-Frameworks.
  7. Bauen Sie das Projekt auf. es sollte erfolgreich gebaut werden.

Vielen Dank,

3
Rajan Maharjan

Für React Native devs:

Empfohlene Schritte:

1.Stellen Sie sicher, dass die Facebook SDK-Frameworks in ~/Documents/FacebookSDK installiert sind.

2) Stellen Sie sicher, dass FBSDK [Core, Login, Share] Kit.framework im Abschnitt "Binär mit Bibliotheken verknüpfen" der Build-Phasen Ihres Build-Ziels angezeigt wird.

3) Stellen Sie sicher, dass Framework Search Path der Build-Einstellungen Ihres Build-Ziels ist

$(HOME)/Documents/FacebookSDK

anstelle von

~/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

  $(HOME)/Documents/FacebookSDK 

(in den Bibliotheken Ihres Projektordners) Setzen Sie den Suchpfad für das RCTFBSDK-Framework wie hier

bereinige dein Projekt (Befehl + Shift + K) und erstelle es.

3
ishab acharya

Ich hatte das gleiche Problem. Ich habe es behoben, indem ich Anführungszeichen um den Wert des Suchpfads für das Framework verwendet habe, d. H. Offensichtlich habe ich einige Leerzeichen in meinen Dateipfaden. 

2

Ich habe das gleiche Problem. Ich verwende Facebook SDK Version 4.10.0.
Ich wusste, dass meine Lösung nicht gut ist, aber für mich gearbeitet hat. Ich habe den Facebook-Quellcode geändert Der Pfad der Importdatei wurde von #import <FBSDKCoreKit/FBSDKCoreKit+Internal.h> in #import <FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h> geändert.

2
tbago

Das Verwenden von CocoaPods war das einzige, was für mich funktionierte:

  1. Aktualisieren Sie Header-Suchpfade (NICHTFramework-Suchpfade) unter Build Settings 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\"",

  2. Fügen Sie den fehlenden Header (s?) Hinzu:

    cd Pods/Headers/Public/FBSDKCoreKit/FBSDKCoreKit/ && ln -s ../../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h FBSDKCoreKit+Internal.h

Edit: point 2. muss anscheinend nach jedem folgenden Aufruf von pod install wiederholt werden.

1
Fran Pugl

Wenn Sie von Carthage zu Cocoapods wechseln, entfernen Sie unbedingt die Carthage-Verweise des FBSDKCoreKit aus der Link Binary With Libraries-Option unter Build Phases.

 enter image description here

1
footyapps27

Für Xcode 7.3 funktionierte das Folgende für mich.

schritt 1. Gehen Sie zum Ordner Document/FacebookSDK

schritt 2. Klicken Sie auf FBSDKCoreKit.framework

schritt 3. In diesem Ordner Remove Modules Ordner und ziehen Sie ihn in Ihr Xcode-Projekt.

Referenzen: https://stackoverflow.com/a/29532202

Vielen Dank

1
iCodeAtApple

Nach der Fehlersuche mit mehreren Antworten hier. Das habe ich getan.

  1. Ich habe ~/Documents/FacebookSDK in "$(HOME)/Documents/FacebookSDK" geändert. note : Ich habe " in Anführungszeichen gesetzt.
  2. Ich habe "$(HOME)/Documents/FacebookSDK" in den Header-Suchpfaden an den Anfang der Liste verschoben.
0
Karl Taylor

Ich zog das Framework in den Framework-Ordner innerhalb von xcode, entschied mich, Dateien zu kopieren, falls nötig, und alles funktionierte ohne weitere Konfigurationsänderungen.

0
DcCoO

Ich hatte ein ähnliches Problem und konnte den Compiler-Fehler trotzdem nicht beheben.

Ich habe die genauen Integrationsschritte einige Male verfolgt und ausgeführt, bis ich bemerkte, dass ich eine Kopie des FBSDKCoreKit.framework in meinem Projektordner habe (wahrscheinlich durch einen Fehler). Außerdem enthält Framework Search Paths neben/Users/{Benutzername}/Documents/FacebookSDK bereits $ (PROJECT_DIR)

Also habe ich entfernt die Kopie von FBSDKCoreKit.framework aus dem Projektverzeichnis und jetzt funktioniert alles gut.

0
choofie

Ich hatte ein ähnliches Problem. Fix bestand für mich aus der Auswahl von "COPY FILES IF NECESSARY" beim manuellen Hinzufügen der verschiedenen Frameworks zum XCode-Framework.

0
tiofabby

Ich bin gestern Abend auf diese Ausgabe gestoßen und wollte meine Lösung veröffentlichen, nur für den Fall, dass jemand anderes das gleiche Problem hat. Mein Problem war, dass meine App in der SIM-App und auf meinem Gerät einwandfrei aufgebaut war und ausgeführt wurde. Der Build würde jedoch aufgrund von FBSDKCoreKit fehlschlagen, wenn ich versuchte, meine Unit-Tests auszuführen. Ich habe ungefähr 30 Minuten gebraucht, um das Problem zu finden, und ich fühlte mich wie ein Dummy, wenn ich es tat.

Stellen Sie sicher, dass das FBSDKCoreKit-Paket auch für Ihre Tests und nicht nur für den regulären Anwendungsaufbau vorgesehen ist.

0
Jacob Boyd

Ich hatte dieses Problem beim Upgrade auf Xcode 8 und konnte dieses Problem durch Ändern lösen

#import <FBSDKCoreKit / FBSDKCoreKit.h>

zu 

#import <FBSDKCoreKit/FBSDKCoreKit.h>

0
TheJediCowboy

Ich persönlich hatte Probleme mit Leerzeichen in verschiedenen Pfaden, einschließlich App-Namen. Das Entfernen von Leerzeichen ("" oder das Hinzufügen von "" "" Pfaden überall ") hat das Problem gelöst.

0
Benjamin Piette

Wenn Sie das Verzeichnis zu Ihren Build-Einstellungen hinzufügen -> "Framework-Suchpfade", stellen Sie sicher, dass Sie es zu Debug AND Release hinzufügen.

Dummer Fehler, aber wenn Sie iOS Dev in xcode noch nicht kennen, könnten Sie dies verpassen.

0
FrederickCook

Ich habe reag-native-fbsdk installiert und mit reag-native-link reag-native-fbsdk verknüpft.

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 folgenden Schritt, den ich befolgt habe.

  1. Setup auf facebook Entwicklerkonto nt.

  2. Installieren Sie die Datei ios_setup.js, indem Sie den folgenden Befehl in einer Eingabeaufforderung im Stammverzeichnis Ihres Projekts ausführen.

curl -O https://raw.githubusercontent.com/facebook/react-native-fbsdk/master/bin/ios_setup.js

  1. Installieren Sie das plist-Paket, das xcode-Paket und das adm-Zip-Paket, indem Sie den folgenden Befehl ausführen. npm install plist xcode adm-Zip
  2. Führen Sie das Skript ios_setup.js aus, indem Sie den folgenden Befehl ausführen, und geben Sie die App-ID und den App-Namen Ihrer App ein. Wenn der Name Ihrer App mehr als ein Wort lang ist, setzen Sie ihn in Anführungszeichen.

node ios_setup.js [App ID] [App Name]

Beim Ausführen von node ios_setup.js werden automatisch alle Dateien in ios verknüpft.

0