web-dev-qa-db-fra.com

Fichier 'FacebookSDK/FacebookSDK.h' problème lexical ou pré-processeur introuvable

Je viens d'ajouter facebookSDK.framework dans le projet ios via ce document: Premiers pas avec le SDK Facebook pour iOS

J'ai réussi à construire et à exécuter mon projet Xcode en le suivant. Mais lorsque je copie mon code source et que je l'exécute sur un autre ordinateur, l'erreur suivante est à venir

J'ajoutais aussi facebookSDK.framework dans la ressource de mon projet et j'essayais de nouveau, mais je ne le résolvais pas.

Alors, dites-moi comment faire pour exécuter ce projet ailleurs.

19
ChandreshKanetiya

J'ai un problème très similaire, mais dans mon cas, il s'agit du SDK Amazon Web Services au lieu du SDK Facebook. Pour moi, le problème s'est avéré être lié au chemin de chargement de ma structure.

Solution: Allez dans "Paramètres de construction" dans Xcode, et sous "Chemins de recherche", vous trouverez un élément "Chemins de recherche dans le cadre". Double-cliquez dessus et ajoutez un nouveau chemin de recherche: . et rendez-le récursif. Nettoyer et construire.

Cela suppose que votre infrastructure est stockée quelque part dans votre répertoire de projet. Sinon, modifiez le nouveau chemin de recherche selon vos besoins.

31
sffc

J'ai eu ce problème et résolu en faisant ceci:

  1. Supprimez le cadre FacebookSDK de votre projet.
  2. Supprimez toutes les références au kit de développement logiciel Facebook de votre "Framework Chemins de recherche" et de "Chemins de recherche d'en-tête" dans les paramètres de construction (notez Ce paramètre existe à la fois sous "Projet" et "Cible", donc désactivez-le des deux endroits)
  3. Nettoyez votre projet, enregistrez et quittez.
  4. Relancez votre projet.
  5. Ajoutez à nouveau le framework SDK de Facebook en le faisant glisser dans votre projet.
  6. Compiler. À ce stade, il a été corrigé pour moi.
4
Shaun Budhram

Dans mon cas, j'ai fait des choses semblables à vous (une chose est différente), cela a fonctionné pour moi. Les étapes sont ci-dessous: 

  1. Allez dans le répertoire FacebookSDK, sélectionnez FacebookSDK.framework, faites un clic droit et appuyez sur obtenir les infos puis copiez le chemin du fichier (quelque chose comme:/Utilisateurs/macbook/Documents/FacebookSDK).

  2. Allez dans "Paramètres de construction" dans Xcode, et sous "Chemins de recherche", vous trouverez un élément "Chemins de recherche dans le cadre". Double-cliquez dessus et collez le chemin du fichier que vous venez de copier. 

  3. Sachez que ce paramètre existe à la fois sous "Projet" et "Cible". Collez-le donc aux deux endroits.

  4. Nettoyer le projet et construire. Cette fois, ça devrait marcher. 

3
Saleh Masum

Ma solution au problème lexical ou au préprocesseur - erreur de fichier non trouvé, était la suivante:

Allez dans Xcode => Cible du projet => Paramètres de construction => Chemins de recherche

Puis insérez le chemin suivant dans les chemins de recherche Framework et dans les chemins de recherche de bibliothèque, en utilisant votre propre nom de projet dans ce chemin: "$ {SRCROOT} // nom du projet/facebookSDK/framework"

2
Gavin Norman

Dans mon cas, le problème était avec MillenialMedia SDK:

Lexique ou préprocesseur N'émettez pas le fichier 'MillennialMedia/MMSDK.h' a trouvé

Il a été résolu en supprimant les frameworks SDK de projet, en les déplaçant vers le dossier de niveau supérieur du projet (Où le fichier .xcodeproj stocké). Et ensuite, ajouter des cadres au projet dans les phases de construction.

Il est parfois nécessaire de télécharger à nouveau le site Web officiel du formulaire d’archive SDK (s’il était corrompu ou quelque chose du genre). Dans mon cas, cela est arrivé après avoir poussé mon projet vers un référentiel distant à partir d'un ordinateur de bureau et l'avoir extrait d'un ordinateur à la maison.

Suppression de cadres Removing frameworks

Déplacement de framevorks du dossier interne vers le dossier de projet de niveau supérieur (dossier identique, où se trouve votre fichier .xcodeproj Moving framevorks from inner folder to top-level Project folder

Ajout de cadres au projet Adding frameworks back to the project

1
Firuz Narzikulov

J'ai résolu ce message d'erreur en faisant glisser le dossier DeprecatedHeaders du SDK de Facebook (il réside dans FacebookSDK/Versions/Current) dans le dossier Frameworks, à côté du FacebookSDK.framework.

L'ajout de toutes sortes de chemins de recherche (y compris . comme suggéré ci-dessus) n'a pas aidé, pas plus que la réponse de Mr_bem help - le fichier .m existait déjà dans les "sources de compilation"

Cela n’aidera peut-être pas directement à la question du PO mais pourra, espérons-le, aider des personnes comme moi.

1
scudsucker

J'ai le même problème. Peut-être avez-vous utilisé tortoiseSVN (Windows) pour extraire le code source. 

C'est mon problème:

Mac => submit source => Fenêtre => source de paiement => Copier la source de la fenêtre sur Mac => compiler => erreur.

Solution: utiliser svn for Mac pour extraire la source.

0
FixBug

J'ai eu le même problème et trouver la raison de cette erreur dans mon cas est parce qu'il y aplus d'un "facebookSDK.framework"peut être trouvé dans les "chemins de recherche de cadre".

Vous pouvez vérifier tous les "chemins de recherche de structure" de votre projet et vous assurer que Xcode seul peut trouver un "facebookSDK.framework" dans ces chemins.

0
Harpseal Tsai

Quand j’ai eu ce problème, j’ai trouvé que le projet était revenu à l’état pur mais quand j’ai essayé de l’exécuter, j’ai eu l’erreur. Si j'ai commenté les fichiers facebook.h, il est simplement passé aux fichiers suivants de mon fichier de préfixe et a quand même créé l'erreur.

J'étais prêt à commencer à modifier les paramètres de construction et les chemins de recherche, mais j'ai décidé de fermer tous mes projets Xcode et de le redémarrer, ce qui a fonctionné pour moi. 

Écrire ceci semble une chose presque trop évidente à essayer, mais dès que l'erreur est apparue, j'étais sur stackoverflow et j'essayais les réponses suggérées ci-dessus. Ma situation est peut-être rare et unique, mais essayez certainement de tout redémarrer et de tout fermer en premier car cela ne prend que 10 secondes et a fonctionné pour moi.

0
simon_smiley

Les valeurs dans Chemins de recherche dans le cadre et Chemins de recherche dans l’en-tête étaient initialement les mêmes que ceux mentionnés ici par d’autres.

J'ai vérifié la liaison manuelle de la bibliothèque en la faisant glisser vers le Xcode . La bibliothèque de FB SDK était déjà présente.

Le problème était avec le nom du dossier du SDK téléchargé

Je l'ai renommé en FacebookSDK et j'ai mis mon application en service

0
Supriya Kalghatgi

Si vous utilisez cette ligne de commande pour le plugin facebook sur IOS

 cordova -d plugin add /path/to/cloned/phonegap-facebook-plugin --variable APP_ID="123456789" --variable APP_NAME="myApplication"

Et vous voyez le FacebookSDK.framework dans vos Frameworks mais vous ne pouvez pas le développer. Retournez et utilisez cordova plugin remove phonegap-facebook-plugin puis git clone https://github.com/Wizcorp/phonegap-facebook-plugin.git puis rajoutez le plugin facebook.

0
rstephen

Ok les gars, je pense avoir la réponse. Suivez les étapes ci-dessous.

  1. Copiez votre cadre dans votre projet.
  2. Assurez-vous qu'il se trouve sous un répertoire. par exemple, $ (PROJECT_DIR)/nom_projet/Ressources/Cadres
  3. Cliquez sur la cible.
  4. Goto Build Phases->Link binary with Libraries
  5. Ajoutez le framework personnalisé en cliquant sur "Add Other"
  6. Vérifiez dans le navigateur de projet que le cadre existe une seule fois.
  7. Maintenant, allez à Build Settings->Search Paths->Framework Search Path et assurez-vous qu'il comporte les deux éléments suivants.

(a) $ (hérité)
(b) $ (PROJECT_DIR)/nom_projet/Ressources/Frameworks.

Ne pas rappeler que la structure existe dans le dossier "Frameworks"

  1. Assurez-vous qu'il n'y a rien dans le chemin de recherche de la bibliothèque.
  2. Maintenant, cliquez sur le projet (cible ci-dessus) -> Configurer les paramètres et répétez les étapes 7 et 8.
  3. Maintenant, nettoyez le projet et construisez-le.

J'espère que cela fonctionne .. Veuillez vous rappeler de ne garder aucun nom de dossier avec des espaces. Si vous les avez conservés, assurez-vous de fournir les caractères d'échappement corrects.

0
Abhishek Kumar

Dans mon cas, c’était Xcode et sa belle fonctionnalité de F *** ing up stuff :)

Solution: Allez dans "Paramètres de construction" dans Xcode, et sous "Chemins de recherche", vous trouverez un élément "Chemins de recherche dans le cadre". Assurez-vous de ne pas avoir de barre oblique avant les guillemets, qui sont généralement ajoutés lorsque vous ajoutez un cadre via "Ajouter des fichiers à ..." sur Xcode . Si vous voyez des barres obliques avant la citation, supprimez-les .Exemple:

\"

Devrait être

"
0
IncrediApp
  • Cliquez sur l'icône bleue de votre navigateur de fichiers dans xcode (celle du haut avec le nom de votre projet)
  • Cliquez sur les cibles, puis construisez les phases.
  • Développez les sources de compilation.
  • Ajoutez vos fichiers Facebook.m ici.

Ça devrait le faire.

Sinon, nettoyez simplement votre projet (commande + shift + k), puis rajoutez le framework (Y).

Si vous avez d'autres questions, il suffit de demander; D

0
Albara