J'ai récemment mis à jour mon Xcode vers la version 7.1 (à partir de 7.0.1) et mon application Cordova ne parvient pas à archiver avec l'erreur qui dit:
Fichier "Cordova/CDVViewController.h" introuvable
dans le fichier MainViewController.h.
La recherche de solutions sur StackOverflow et ailleurs suggère que la définition du chemin de recherche d'en-tête du projet de "$(OBJROOT)/UninstalledProducts/include"
à "$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include"
semble résoudre le problème pour beaucoup de gens. Cependant, cela n'a pas résolu le problème pour moi.
Y a-t-il quelque chose qui pourrait mal tourner? Je n'ai jamais rencontré de problème comme celui-ci avant de mettre à jour Xcode.
MISE À JOUR: Il semble que la mise à jour de mon Mac OS X vers El Capitan ait pu résoudre ce problème car je ne l'ai plus. Au moment de poster cette question, j'étais sur Yosemite. J'espère que cela aidera toute personne rencontrant le même problème
C'est un problème avec 7.1 consultez ce fil qui peut aider (sur les forums ionic mais ce n'est pas un problème spécifique ionic, c'est Cordova avec XCode 7.1) ) http://forum.ionicframework.com/t/cordova-cdvviewcontroller-h-file-not-found-in-xcode-7-1-beta/32232
Voilà la solution!
Ajoutez cette ligne à vos paramètres de construction -> Chemins de recherche d'en-tête:
"$(OBJROOT)/UninstalledProducts/$(PLATFORM_NAME)/include"
J'ai trouvé une solution sur ce fil qui fonctionnait pour moi avec Xcode 7.1 (j'avais toujours des problèmes sur OS X El Capitan).
La réponse de Gandhi est:
J'ai trouvé cette solution sur http://forum.ionicframework.com/t/cordova-cdvviewcontroller-h-file-not-found-in-xcode-7-1-beta/32232 :
Ajoutez cette ligne à vos paramètres de construction -> Chemins de recherche d'en-tête:
"$ (OBJROOT)/UninstalledProducts/$ (PLATFORM_NAME)/include"
Ne remplacez pas la ligne existante qui semble similaire, qui doit encore être rétrocompatible avec Xcode 7 et Xcode 6.4.
mais ne fonctionne pas pour les anciennes versions de Cordova. Je ne peux pas passer à la version récente de Cordova, donc après un petit essai et une recherche, j'ai trouvé une nouvelle solution qui semble fonctionner dans mon environnement:
"$(OBJROOT)/UninstalledProducts/$(CONFIGURATION)-$(PLATFORM_NAME)/include"
Même conseil qu'auparavant, ne remplacez pas la ligne existante, mais ajoutez le nouveau rôle à la fin.
J'espère que cela devrait être utile.
Sur la capture d'écran, je vois un espace sur "build/UninstalledProducts/iphoneos/include "
, Essayez de le supprimer.
Et vous n'avez pas à supprimer l'ancien, "$(OBJROOT)/UninstalledProducts/include"
, vous devez garder les deux