clang: erreur: aucun fichier ou répertoire de ce type: '/ Users/admin/Library/Developer/Xcode/DerivedData/__ TESTING __- fzbkvdbnndieeagphtjhdndiyttl/Build/Products/Debug-iphoneos/libCordova.a'
Comment puis-je obtenir ce un manquant libCordova.a ?
(source: kerrydeaf.com )
MISE À JOUR: Pour Simon Germain.
MISE À JOUR: Pour Simon Germain. Je ne vois pas "Identité et type". Je peux voir "Identité". J'utilise xcode 4.5
(source: kerrydeaf.com )
MISE À JOUR: Pour Simon Germain. J'ai obtenu l'identité.
(source: kerrydeaf.com )
MISE À JOUR: Pour Samuel
(source: kerrydeaf.com )
MISE À JOUR: Pour Simon Germain - Architecture.
MISE À JOUR: Pour james0n - armv.
(source: kerrydeaf.com )
MISE À JOUR: Pour Simon Germain - Architecture.
MISE À JOUR: Pour james0n - armv.
Undefined symbols for architecture i386:
"_OBJC_CLASS_$_CDVURLProtocol", referenced from:
objc-class-ref in AppDelegate.o
"_OBJC_CLASS_$_CDVViewController", referenced from:
_OBJC_CLASS_$_MainViewController in MainViewController.o
"_OBJC_METACLASS_$_CDVViewController", referenced from:
_OBJC_METACLASS_$_MainViewController in MainViewController.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)
MISE À JOUR: Pour james0n - Architecture valide.
(source: kerrydeaf.com )
MISE À JOUR: Il est maintenant résolu !!! assurez-vous que tous les armv7 et armv7 pour ios 6 sur tous dans xcode. Ça a marché.
Pour votre projet, définissez le paramètre de génération "Build Active Architecture Only" sur yes.
(Peut-être également définir le paramètre de construction Architectures sur "Standard (armv7, armv7s)" pour le projet CordovaLib.)
Eu (comme beaucoup d'autres) le même problème, voici ce que j'ai fait:
Architectures: Standard (armv7, armv7s)
Construire une architecture active uniquement: Oui
et puis cela a fonctionné comme par magie, je pense que les étapes 3 et 4 l'ont fait cependant.
J'ai eu le même problème que vous, a bien fonctionné déployé sur les simulateurs mais pas sur un appareil. Aucune des réponses suggérées n'a fonctionné pour moi.
Voici ce que a fait pour moi:
Définissez la cible de déploiement sur v4.3 et dans les paramètres du projet pour le projet CordovaLib
, définissez le Build Active Architecture Only
à Yes
. (Pas nécessaire sur votre projet principal).
Important, effectuez un Produit-> Nettoyer et reconstruire.
Il suffit de supprimer armv6 de YourProject et CordovaLib:
Les conséquences de faire cela? Apparemment, cela fonctionne toujours sur l'iPhone 3GS, mais pas sur les versions précédentes ..
Assurez-vous que la cible du produit CordovaLib est définie sur "Par rapport au produit intégré" sur le panneau de droite, premier onglet à gauche, sous "Identité et type".
Vous devez exécuter le script de mise à jour, je sais que cela pourrait être pénible de le faire, mais c'est ce qu'il faut.
Téléchargez et ouvrez le package Phonegap 2.1 depuis le site officiel. Ouvrez une fenêtre de terminal et accédez au répertoire d'installation
Vous devrez d'abord créer un nouveau projet:
./create [project_folder_path] [package_name] [project_name]
Ensuite, vous devez définir le chemin d'accès à vos bibliothèques.
/update_cordova_subproject [xcodeproj file]
Ouvrez maintenant votre projet et définissez la cible de déploiement sur 4.3 et vous devriez être prêt à partir. J'espère que cela pourra aider
ÉDITER:
Voici à quoi ressemble ma configuration pour le projet CordovaLib
Aussi - assurez-vous que vous n'avez pas plus d'un projet PhoneGap Xcode ouvert à la fois - J'obtenais des conflits entre les deux. Boucle de type "Espace de travail déjà ouvert dans un autre espace de travail".
J'ai résolu ce problème en supprimant l'architecture armv6 et i386 du paramètre Architecture valide
Téléchargez le programme d'installation de Cordova ici http://phonegap.com/download . Assurez-vous que c'est la même version que vous utilisez actuellement (ex 2.0).
Montez ensuite le dmg trouvé dans le répertoire ios.
Exécutez ensuite le programme d'installation .pkg.
Redémarrez Xcode.
Après avoir passé de nombreuses heures avec encore plus d'erreurs, voici ce qui a fonctionné pour moi. Combinant essentiellement une grande partie de ce qui précède:
N'incluez pas armv7 dans les listes d'architecture, car il ne sera pas construit pour le périphérique.
Testé sur simulateur et sur iPad avec iOS 6. Utilisation de Phonegap 2.1.0 et XCode 4.5.1.
Mise à jour: si vous voulez prendre en charge l'iPhone 5, vous aurez besoin d'armv7s. Il nécessite le correctif dans https://issues.Apache.org/jira/browse/CB-136 , qui sera dans Cordova 2.2.0. (Je ne l'ai pas encore essayé, travaillant sur un projet iPad.)
En plus de plusieurs autres suggestions et messages, j'ai constaté que je rencontrais ce problème uniquement sur mes versions AdHoc. Veuillez noter que j'ai compris cela pendant le débogage, car si je définissais la configuration Edit Build Scheme> Archive sur "release", cela fonctionnerait bien, mais s'il était réglé sur AdHoc, cela me donnerait une erreur de lien, me disant que ce fichier ne pouvait pas être a trouvé:
/Users/jason/Library/Developer/Xcode/DerivedData/MommyNearest-ceourmykvgxdekbkmzenuvhcfnzk/Build/Intermediates/ArchiveIntermediates/MommyNearest/BuildProductsPath/Adhoc-iphoneos.a
C'était en fait un bon indice du problème, à savoir que le sous-projet CordovaLib n'avait en quelque sorte pas de configuration AdHoc (il avait UNIQUEMENT des configurations "Debug" et "Release").
Par conséquent, lors de la génération d'une version AdHoc (à utiliser avec Testflight), il ne créerait pas correctement un lien symbolique pour ce fichier. Une fois que j'ai ajouté une configuration "AdHoc" au sous-projet CordovaLib, cela a commencé à fonctionner.
J'ai eu ce problème également. Je pense que c'est parce que j'avais déjà installé une ancienne version de gap de téléphone qui avait installé des trucs dans xcode. J'ai désinstallé, puis réinstallé xcode. Ensuite, j'ai exécuté le Uninstall Cordova.applescript fourni avec le téléphone. Cela a résolu le problème de la libCordova.a rouge