web-dev-qa-db-fra.com

Erreur FBSDKCoreKit/FBSDKCoreKit.h introuvable

J'implémente FB Login alors j'ai téléchargé le SDK de https://developers.facebook.com/docs/ios . Puis j'ai fait glisser n dans les cadres FBSDKCoreKit, FBSDKLoginKit et FBSDKShareKit dans mon projet.

quand j'ai couru le projet cela fonctionne très bien. mais quand je l'ai fermé et rouvert, alors "FBSDKCoreKit/FBSDKCoreKit.h not found error" apparaît. là encore, je copie le cadre FBSDKCoreKit dans la bibliothèque de mon projet et l'erreur disparaît et ce processus continue. Quelqu'un a déjà fait face à ce problème?

que dois-je faire pour résoudre cette erreur?

69
M Swapnil

Assurez-vous de suivre cette étape:

Désélectionnez Copier les éléments dans le dossier du groupe de destination. https://developers.facebook.com/docs/ios/getting-started/

De plus, dans vos paramètres de construction, examinez le champ suivant: "Chemins de recherche dans le cadre"

/Users/[username]/Documents/FacebookSDK

ou pour une config plus générale

~/Documents/FacebookSDK

En outre, regardez dans le Finder et assurez-vous que le cadre existe réellement

91
etayluz

Après avoir mis à jour Cocoapods 1.0.0, j'ai supprimé pod.lock et installé les versions actuelles du pod stable (4.7.0 à 4.11.0) de FBSDKCoreKit, FBSDKLoginKit, FBSDKShareKit

Ensuite, je rencontre la même erreur. Ce que j'ai fait était:

  1. Paramètres de construction des chemins de recherche d'en-tête ajoutés dans 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\"
    

Ensuite, j'avais encore une erreur pour un autre fichier. Parce que XCode utilise des frameworks pré-construits.

FBSDKCoreKit/FBSDKCopying.h introuvable

  1. Nettoyer la construction -> K (Maj + Commande + K) - pour nettoyer les frameworks construits.
  2. Nettoyer le dossier de construction -> K (Option + Maj + Commande + K)
  3. Fermer Xcode // important! - Sinon, il recrée automatiquement les DerivedData pour le projet actuellement ouvert.
  4. Exécuter cette commande en terminal

    rm -rf ~/Library/Developer/Xcode/DerivedData
    
  5. Ouvrir XCode et construire avec succès

58
Mihriban Minaz

Je dois résoudre ce problème en supprimant le Framework et en l'ajoutant à nouveau en faisant un clic droit sur le projet-> Ajouter des fichiers ..., puis en choisissant le framework et SÉLECTIONNER l'option Copier les fichiers si nécessaire. Je sais que ce n'est pas ce que Facebook recommande, mais je ne pouvais pas le faire fonctionner de cette manière, mais de cette façon, tout s'est bien déroulé! et tous les autres qui font face au même problème :)

34
maufadel

Cela m'a aussi pris des heures de douleur! Enfin, j'ai trouvé le problème fondamental.

Le SDK FacebookDOITêtre situé dans ~/Documents/FacebookSDK

En effet, dans le projet RCTFBSDK, ce chemin est codé en dur. Mais vous pouvez ajouter votre emplacement personnalisé en l’ajoutant aux chemins de recherche du cadre du projetRCTFBSDK(il sera affiché dans la console d’erreur)!

16
appsthatmatter

Les développeurs FB say ne sélectionnez pas de copie fichiers. Ce qui crée un problème. Mais j'ai fait en face

  1. J'ai sélectionné des éléments de copie si nécessaire. Il copié Frameworks dans mon projet. Aussi automatiquement Search Path a été ajouté par xcode 7.2

  2. Vérifiez également s'il n'y a rien dans Framework Search Pathssous Search Paths sous les champs Build Settings, puis ajoutez simplement $ (PROJECT_DIR) qui correspond à/Utilisateurs/utilisateur/Documents/.... PROJECT..DIR ...

Compilé en 2 projets avec succès.

7
karan

J'ai dû déplacer le chemin FacebookSDK dans les chemins de recherche du framework ci-dessus $ (PROJECT_DIR)

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

Si l'une des réponses ci-dessus ne fonctionne pas, essayez ceci:

Ouvrez votre dossier ~/Documents/FacebookSDK . Vérifiez s'il y a cette icône de nuage à droite des noms de fichiers:

 screenshot.png

Si tel est le cas, macOS a supprimé vos fichiers de votre ordinateur et les a téléchargés sur iCloud! (merci Apple)

Vous pouvez:

  1. Cliquez sur toutes les icônes du nuage, les fichiers seront téléchargés
  2. Désactivez l'optimisation du stockage sur votre mac pour l'empêcher de se reproduire
3
Bruno Lemos

Solution au problème si votre FacebookSDK est différent de 

~/Documents/FacebookSDK

Parce que vous ne voulez pas que iCloud Drive se charge avec FacebookSDK; Vous devez changer les "chemins de recherche du framework" pour les 

réagir-natif-fbsdk

En effet, dans le fichier RCTFBSDK.xcodeproj de Libraires; chemin est codé en dur. Mais vous pouvez ajouter votre emplacement personnalisé en l'ajoutant aux chemins de recherche du cadre du projet RCTFBSDK.

  1. Sélectionnez le projet
  2. Bibliothèques
  3. Sélectionnez "RCTFBSDK.xcodeproj"
  4. Paramètres de construction
  5. Ajoutez votre chemin personnalisé dans "Chemins de recherche dans le cadre" Exemple:/Users/rajanmaharjan/FacebookSDK
  6. Nettoyer la construction -> K (Maj + Commande + K) - pour nettoyer les cadres de construction.
  7. Construire le projet; il faut construire avec succès.

Merci,

3
Rajan Maharjan

J'ai eu le même problème. Je l'ai corrigé en utilisant des guillemets autour de la valeur de mon chemin de recherche dans le cadre, à savoir "/ Utilisateurs/.....". De toute évidence, il y a des espaces dans mes chemins de fichiers. 

2
Rishad Meher-Homji

J'ai le même problème. J'utilise la version 4.10.0 du SDK de Facebook.
Je savais que ma solution n'était pas bonne mais fonctionnait pour moi. J'ai modifié le code source de Facebook . Le chemin d'accès au fichier d'importation de #import <FBSDKCoreKit/FBSDKCoreKit+Internal.h> a été modifié à #import <FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h>

2
tbago

En utilisant CocoaPods , la seule chose qui a fonctionné pour moi a été:

  1. Mise à jour des chemins de recherche en-tête (PASChemins de recherche Framework) sous Paramètres de construction dans 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. Ajoutez le ou les en-têtes manquants:

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

Edit: point 2. doit apparemment être répété après chaque appel suivant à pod install.

1
Fran Pugl

Pour les personnes qui passent de Carthage à Cocoapods, veillez à supprimer les références Carthage de FBSDKCoreKit de l'option Link Binary With Libraries sous Build Phases.

 enter image description here

1
footyapps27

Pour Xcode 7.3, les opérations ci-dessous ont fonctionné pour moi . Suivez les étapes mentionnées dans le guide de FB et procédez comme suit:

étape 1. aller dans le dossier Document/FacebookSDK

étape 2. Cliquez sur FBSDKCoreKit.framework

étape 3. Dans ce dossier, supprimez le dossier Modules, puis faites-le glisser dans votre projet Xcode.

Références: https://stackoverflow.com/a/29532202

Merci

1
iCodeAtApple

Après le dépannage en utilisant plusieurs réponses ici. C'est ce que j'ai fait.

  1. J'ai changé ~/Documents/FacebookSDK en "$(HOME)/Documents/FacebookSDK" note : J'ai utilisé guillemets "
  2. J'ai déplacé "$(HOME)/Documents/FacebookSDK" en haut de la liste dans les chemins de recherche d'en-tête.
0
Karl Taylor

J'ai fait glisser la structure dans le dossier Framework à l'intérieur de xcode, j'ai choisi de copier les fichiers si nécessaire et tout s'est bien passé sans autre modification de la configuration.

0
DcCoO

J'ai eu un problème similaire et je n'ai pas pu résoudre l'erreur du compilateur de toute façon.

J'ai suivi et exécuté les étapes d'intégration à quelques reprises, jusqu'à ce que je remarque que j'ai une copie du fichier FBSDKCoreKit.framework dans mon dossier de projet (probablement dû à une erreur). De plus, les chemins de recherche dans le cadre contient déjà $ (PROJECT_DIR) outre/Utilisateurs/{nom d'utilisateur}/Documents/FacebookSDK. 

Donc, j'ai enlevé la copie du FBSDKCoreKit.framework du répertoire du projet et maintenant tout fonctionne bien.

0
choofie

J'ai eu le même problème. Le correctif consistait pour moi à sélectionner: "COPIER LES FICHIERS SI NÉCESSAIRE" lors de l'ajout manuel des différents cadres au cadre XCode.

0
tiofabby

J'ai rencontré ce problème hier soir et je voulais publier ma solution au cas où quelqu'un d'autre aurait le même problème. Mon problème était que mon application construisait et fonctionnait correctement dans la sim et sur mon appareil. Cependant, la compilation échouait à cause de FBSDKCoreKit chaque fois que j'essayais d'exécuter mes tests unitaires. Il m'a fallu environ 30 minutes pour trouver le problème et je me sentais comme un mannequin quand je le faisais.

Assurez-vous que le bundle FBSDKCoreKit est également ciblé pour vos tests, et pas uniquement pour la génération de vos applications habituelles.

0
Jacob Boyd

J'ai eu ce problème lors de la mise à niveau vers Xcode 8 et j'ai pu le résoudre en changeant

#import <FBSDKCoreKit / FBSDKCoreKit.h>

à 

#import <FBSDKCoreKit/FBSDKCoreKit.h>

0
TheJediCowboy

Personnellement, j'ai eu des problèmes avec des espaces dans divers chemins, y compris le nom de l'application. En supprimant des espaces (ou en ajoutant "" partout pour sécuriser les chemins), le problème était résolu.

0
Benjamin Piette

Lorsque vous ajoutez le répertoire à vos paramètres de construction -> "Chemins de recherche dans la structure", assurez-vous de l'ajouter à la fois à Debug AND Release.

Silly error mais si vous débutez dans iOS dev en xcode, vous risquez de rater ceci.

0
FrederickCook

J'ai installé react-native-fbsdk et link en utilisant react-native-link react-native-fbsdk.

Suivez les instructions du lien suivant

https://developers.facebook.com/docs/react-native/configure-ios

Cette offre pour relier la bibliothèque réagie-native en utilisant ios_setup.js Il y a l'étape suivante que j'ai suivie.

  1. Installation sur développeur facebook nt.

  2. Installez le fichier ios_setup.js en exécutant la commande suivante dans une invite de commande située dans le dossier racine de votre projet.

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

  1. Installez le paquet plist, le paquet xcode et le paquet adm-Zip en exécutant la commande suivante. npm install plist xcode adm-Zip
  2. Exécutez le script ios_setup.js en exécutant la commande suivante et insérez l'ID et le nom de l'application de votre application. Si le nom de votre application contient plusieurs mots, placez-le entre guillemets.

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

Lorsque vous exécutez le noeud ios_setup.js, il liera automatiquement tous les fichiers dans ios.

0