web-dev-qa-db-fra.com

fichier de problème lexical ou du préprocesseur non trouvé se produit lors de l'archivage?

this is the screen shot foe the error

Je suis nouveau dans ce développement iPhone et j’ai presque terminé ma première application, mais lorsque j’essaie de créer une archive, il donne une erreur lexicale ou un fichier prétraité non trouvé mais il fonctionne correctement dans le simulateur et a également été testé sur le périphérique. J'ai inclus l'architecture SDwebimage pour le chargement paresseux de l'image dans la vue Tableau. Est-ce que quelqu'un peut me dire quel est le problème?

36
rahul raj

Peu de choses à essayer, assurez-vous que le cadre et tous ses en-têtes sont importés correctement dans votre projet.

De même, dans votre Build Settings, définissez YES sur Always search user paths et assurez-vous que votre User header paths pointe vers Framework.

Enfin, Construire-> Nettoyer et redémarrer Xcode.

J'espère que cela t'aides !

UPDATE: Selon l'installation de SDWebImage, vous devez apporter une modification à Header Search Path et non à User header paths, comme indiqué ci-dessous.

enter image description here

Avez-vous fait cela aussi? Je suggère lentement, en reprenant toutes les étapes d'installation depuis le début.

48
skram

Les espaces dans un nom de dossier dans votre chemin de recherche d'en-tête peuvent être à l'origine de ce problème. Assurez-vous que les noms des dossiers de votre projet ne comportent pas d'espaces.

9
Phil

J'avais le même problème maintenant et j'ai constaté que le chemin d'accès au dossier d'en-tête public de mon sous-projet était incorrect (par rapport à ce que mon projet principal utilisait comme "chemin de recherche d'en-tête" et "chemin de recherche d'en-tête d'utilisateur"). .

par exemple.

Mon projet principal avait les caractéristiques suivantes:

  • En-tête des chemins de recherche
    • Debug "build/Debug-iphoneos /../../ En-têtes"
    • Communiqué "build/Debug-iphoneos /../../ Headers"

Et la même chose pour les chemins de recherche d'en-tête d'utilisateur


Alors que mon sous-projet (dépendance) avait les caractéristiques suivantes:

  • Chemin du dossier d'en-tête public
    • Débogage "include/BoxSDK"
    • Libérer "include/BoxSDK"

Changer le 'chemin du dossier d'en-tête public' en "../../Headers/BoxSDK" corrigeait le problème, car le projet principal cherchait déjà dans ce dossier ('../../Headers').

PS: J'ai pris de bonnes captures d'écran, mais je ne suis pas autorisé à poster une réponse avec des images avant d'avoir atteint la réputation 10 :(

4
mdstroebel

Dans mon cas, je développais un cadre et comportais une application de test. Ce qui manquait, c’était à l’intérieur de l’application de test target -> build settings -> Chemin de recherche du framework:

  • La valeur devait être le chemin du framework (la sortie de la construction - .framework) qui est dans mon cas: "../FrameworkNameFolder/" - les 2 points indiquent qu’il faut monter d’un dossier.

De plus, à l'intérieur de la cible de l'application de test -> Build Phases -> Link Binary With Libraries:

  • Je devais supprimer le fichier de cadre, nettoyer le projet, rajouter le fichier de cadre, compiler et cela résout également le problème.
3
OhadM

J'ai eu ce problème après avoir changé le nom du projet. J'ai utilisé toutes les méthodes mentionnées sur Internet mais ne fonctionne toujours pas. Ensuite, j'ai réalisé que tous les fichiers d'en-tête non trouvés provenaient de cocoapodes. J'ai donc réinstallé les cocoapodes à l'aide de pod install et résolu ainsi le problème. 

J'espère que cela pourrait aider.

3
Lei Zhang

Mon projet a bien fonctionné jusqu'à ce que je mette à jour Xcode 10.1. Après la mise à jour de Xcode, nous avons commencé à obtenir des erreurs Lexical or preprocessor Issue lors de la construction. Certains fichiers d'en-tête XCDataModel sont introuvables.

Cela a résolu le problème.

Accédez à Paramètres de construction, Chemins de recherche d'en-tête Modifiez la valeur appropriée de $ (SRCROOT) non-recursive à recursive.

Cela garantit que les en-têtes sont également recherchés dans les sous-dossiers lors de la génération.

 enter image description here

0
nspire

La nouvelle version contient le correctif, n'hésitez pas à mettre à jour ..__ ou vous pouvez simplement remplacer 

#include "iPhone_View.h"

avec

#if UNITY_VERSION < 450

#include "iPhone_View.h"

#endif
0
Siddharth

Supprimez les tests unitaires de votre projet en suivant les étapes ci-dessous pour résoudre le problème.

sélectionnez votre projet dans le navigateur de projet pour ouvrir l'éditeur de projet. Depuis la cible, supprimez le test du côté gauche de l’éditeur de projet et appuyez sur la touche Suppr.

0
Amit Saxena

Juste en ajoutant une autre chose qui a fonctionné pour moi:

react-native link

Evidemment, mes fichiers ReactNative n'étaient plus là. Je pourrais comprendre cela en cliquant sur 

Build Phases -> Link Binary with Libraries -> 

Cliquez ensuite avec le bouton droit de la souris sur un fichier dont je savais qu'il était responsable de React, puis sur Show In Finder.

Mais rien ne s'est ouvert. Donc, en supposant que la bibliothèque a disparu, je viens d’exécuter la commande ci-dessus qui a tout relié à nouveau.

Aussi, si vous n'avez pas, essayez:

rm -rf node_modules/ && npm install
0
Trip

Cela m'est arrivé après avoir renommé un fichier. Pour une raison quelconque, le fichier portant l'ancien nom était toujours recherché. Ce que j'ai fait était de créer le fichier dont il se plaignait et de l'ajouter au projet. Ensuite, j'ai fait un projet -> nettoyer, puis un projet -> Construire et vérifié que l'erreur avait disparu. Ensuite, j'ai sélectionné les fichiers nouvellement ajoutés et les ai supprimés. Cela a supprimé toutes les références et je ne vois plus l'erreur.

0
prankin

J'ai réparé le mien. Le fb sdk a été téléchargé (à partir de mon navigateur) sous le nom "FacebookSDKs-iOS-4.22.0" - il me suffisait de renommer le dossier FacebookSDK. Alors maintenant, dans la construction 

Paramètres -> Chemins de recherche dans la structure

le chemin ressemble à quelque chose comme /Users/.../Documents/FacebookSDK (où il était auparavant /Users/.../Documents/FacebookSDKs-iOS-4.22.0) Hope. cela aide!

0
Daulet Ilakhunov

Je sais que c'est vieux, mais je vais quand même y aller parce que ça peut être utile à quelqu'un. Si vous pouvez toujours voir le fichier dans le Finder, cliquez sur le fichier de votre projet et supprimez-le en sélectionnant "Supprimer les références" et non "Déplacer vers la corbeille".

Une fois la référence supprimée, faites glisser le fichier depuis le Finder dans votre projet et celui-ci se trie.

0
user1898712