web-dev-qa-db-fra.com

Xcode 7.2: Dans "Archive": Obtenir le problème: "Fichier Cordova/CDVViewController.h’ introuvable ". Bien qu'il n'y ait pas de tels problèmes dans la construction de l'application

Dans iOS, je mets à jour 7.2. Je peux créer mon projet existant sur mon périphérique sans problème. Lorsque le moment est venu d'archiver le projet afin de le soumettre à l'App Store, toutefois, une erreur de construction s'est produite: fichier Cordova/CDVViewController.h introuvable. J'ai parcouru à peu près tous les correctifs/solutions de contournement pour lesquels je n'ai pas trouvé Stack Overflow et Google, et aucun d'entre eux n'a fonctionné pour moi. Si je retourne à Xcode 6.4, je ne peux construire et archiver aucun problème, mais je ne peux plus le faire sur mon appareil maintenant qu'il exécute iOS 9.1.

J'imagine que c'est un problème de configuration quelque part avec la nouvelle configuration de la version Xcode. Quelqu'un d'autre a-t-il rencontré cela? Encore une fois, les suspects habituels (Préférences> Localisation> Données dérivées> Avancé> Unique), les chemins de recherche d'en-tête, etc. semblent tous aller.

Merci, Adisheshu

64
Adisheshu RY

Ce problème semble apparaître dans Xcode 7.2 en raison du chemin de recherche/include.

Résoudre ceci de la manière suivante:

  1. Sélectionnez votre [projectName] dans XcodeCIBLES.

  2. Allez dans Paramètres de construction tab.

  3. Assurez-vous que le filtre est défini sur "Tous" et non sur "De base".

  4. Recherchez "Chemins de recherche d'en-tête"

  5. Double-cliquez et ajoutez ce chemin à "Debug" et à "Release": $(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include

  6. Maintenant nettoyer le projet et redémarrer Xcode.

  7. Capable de faire le Build et Archive .

  8. C'est tout.

222
ArunDhwaj IIITH

Après avoir essayé toutes les solutions sans succès, j'ai exécuté:

cordova platform update ios

Cela a résolu le problème pour moi . (XCODE 7.3.1, Cordova 6.3.0)

Référence: Echec d'archivage de l'application Cordova avec Xcode 7.1 (fichier Cordova/CDVViewController.h introuvable)

67
Dom Hede

Si vous ajoutez cette ligne:

$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include

to en-têtes-recherche-chemin (comme décrit dans la réponse 'im3r3k') n'a pas résolu ce problème, définissez également ceci:

Build Settings -> Architectures -> Build Active Architecture Only -> YES
6
Gil Epshtain

Vous devez mettre à jour la version iOS de Cordova de votre projet vers 3.9.2 (dernière version de 3 en date du 03/11/16). J'ai eu cette même erreur lors de l'utilisation de 3.8.0 et cela a été corrigé dans 3.9.

Vous pouvez également effectuer une mise à niveau vers Cordova iOS v4.1.0 (Bounding Edge du 3/11/16), mais sachez que vous perdez le support pour iOS 6 et 7 et Cordova-plugin-screen-orientation isn ' pas encore mis à jour pour utiliser 4 vous devez donc verrouiller votre application en portrait ou en paysage.

MODIFIER:

Sans mise à niveau, vous pouvez résoudre ce problème manuellement dans XCode. aller à

Paramètres de construction -> Chemins de recherche d'en-tête: Changement:

$(OBJROOT)/UninstalledProducts/include

à:

$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include

( question liée sur Apache.org )

6
im3r3k

Cela a résolu le problème pour moi:

  • Ouvrez votre projet dans Xcode
  • Allez dans Préférences -> Emplacements -> Avancé
  • Choisissez "Unique" comme option pour Build Location
  • Produit -> Clean
  • Produit -> Construire

Extrait de https://forum.ionicframework.com/t/cordova-cdvviewcontroller-h-file-not-found-in-xcode-7-1-beta/32232/40

3
mles

Pour moi, la $(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include était déjà dans les chemins de recherche en-tête (en utilisant XCode 8 dans El Capitan). J'ai ensuite ajouté à User Header Search Paths le chemin spécifique du dossier CordovaLib, avec l'option recursive activée (pour les utilisateurs Xperformants non expérimentés comme moi, sélectionnez le projet dans l'arborescence (1er noeud) pour afficher "Paramètres de construction" !!)

Mais méfiez-vous des espaces! Après beaucoup d'omissions, il était plus prudent de simplement faire glisser le dossier depuis une fenêtre du Finder, et il se remplissait comme suit: $(SRCROOT)/.. (cont.), Ce qui n'était pas prévu mais fonctionnait.

Également dans XCode/Preferences/Locations/Custom Paths, j'ai ajouté un nom CORDOVALIB avec le même dossier qu'auparavant, de la même manière (cette fois, le chemin complet a été utilisé, sans la fonction $(SRCROOT)).

Il m'a fallu plusieurs heures pour tout comprendre ...

3
Z. Khullah

J'ai également eu ce problème mais pour moi, ajouter un chemin à la recherche d'en-tête ne suffisait pas. J'ai ajouté CDVViewController.h à la section "public" du sous-projet CordovaLib.xcodeproj -> CordovaLib (cible) -> Phases de construction -> En-têtes -> Public

3
Andrew Bogaevskyi

Les solutions ci-dessus ne fonctionnaient pas pour moi.

In my case, when I build my iOS platform, CordovaLib folder was not included.
1. Delete existing CordovaLib.xcodeproj
2. Add existing files. Add CordovaLib.xcodeproj from CordovaLib folder
3. Add dependencies and select CordovaLib
4. Add link Binaries with library and select libCordova.a

C'est tout!

2
h3n

J'utilisais xcode 7.3 et j'avais le même problème. Dans mon cas, l'erreur était due à une erreur qui se produisait lors de l'exécution de "cordova platform add ios". Une erreur se produisait car aucune image ne pouvait être trouvée dans le dossier res et évitait ainsi que Cordova Platform ajoute la fin correcte.

1
Juan Nogueira

Le fichier CDV.h est présent dans CordovaLib/CordovaLib.xcodeproj/public. Vous pouvez donner ce chemin et travaillé pour moi.

Je ne sais pas comment donner un chemin relatif. J'ai donc glissé/déposé le fichier et l'ai mis dans "" avec #import comme:

#import "dragged file full path"
0
Laksh

Définissez également ENABLE BITCODE = NO dans les paramètres de construction.

0
dijipiji

Désinstallez et réinstallez la plateforme Cordova 

cordova platform rm ios

cordova platform add ios
0
umesh woodu

J'ai fait face à ce problème lorsque j'ai supprimé et ré-ajouté le projet. Certains fichiers de ressources, tels que les icônes ou les écrans de démarrage, étaient introuvables et le projet ne créait pas du tout.

0
infinito84

Pour moi, la suite a fonctionné

Xcode 8.1 ios 10.x

(cible -> Paramètres de construction -> Chemins de recherche en-tête) 

"$ {PODS_ROOT}/Cordova/CordovaLib/Classes/Public"

comme 

Le dossier "$ {PODS_ROOT}/Headers/Public" était vide.

0
Chirag Purohit
  1. Dans les paramètres de votre projet Xcode, sélectionnez CIBLES.
  2. Dans TARGETS, sélectionnez l’onglet Build Settings.
  3. Dans les sous-options de l’onglet Paramètres de construction, veillez à sélectionner Tous
  4. Faites défiler jusqu'à la section des chemins de recherche
  5. Localiser les chemins de recherche d'en-tête
  6. Ajoutez la configuration suivante à l'option Release (en tant que nouvelle valeur sur sa propre ligne): $ (OBJROOT)/UninstalledProducts/$ (PLATFORM_NAME)/include
  7. Nettoyer le projet: Commande + Maj + K
  8. Redémarrer Xcode

La capture d'écran suivante montre ce que vous devriez voir dans Xcode 7.2 après les étapes 1 à 6 (la ligne surlignée en bleu indique la configuration ajoutée): enter image description here

0
Dinesh Vaitage

J'ai eu le même problème, donc je viens de retirer <icon src="icon.png" /> du fichier de configuration. puis j'ai retiré et ajouté la plate-forme IOS en utilisant cordova platform remove ios puis cordova platform add ios

0
Alamri