207 votes

iOS - Build échoue avec CocoaPods ne peut pas trouver les fichiers d’en-tête

J'ai un projet iOS à l'aide de CocoaPods. Tout fonctionnait bien jusqu'à ce qu'un autre développeur a commencé à travailler sur le même projet. Il a fait quelques modifications (uniquement pour code autant que je sache) et faites une nouvelle branche dans la prise en pension. J'ai vérifié sur sa branche et essayé d'en construire, mais j'obtiens une erreur: ASLogger/ASLogger.h fichier non trouvé.

Même si je supprime l'ensemble du projet et de faire une nouvelle copie et l'utilisation de "gousses install". le bâtir la panne est toujours là. Avez-vous une idée d'où le problème peut-être? Si vous avez besoin de plus d'infos, il suffit de demander.

208voto

waggles Points 1003

Mise à jour

Assurez-vous que votre Podfile inclut link_with sur les cibles manque un fichier de config. Cocoapods seulement définit la première cible par défaut contraire. par exemple

platform :osx, '10.7'
pod 'JSONKit',       '~> 1.4'

link_with 'Pomo', 'Pomo Dev', 'Pomo Tests'

------ Mise À Jour De Fin


Remarque: Veuillez noter que vous devez regarder dans Projet->Info->Configurations pour les étapes ci-dessous.


J'ai eu des symptômes similaires et a constaté que l' pods.xcconfig fichier n'a pas été inclus dans l' target j'étais en train de construire. Certains des autres solutions proposées a fonctionné pour moi, mais celui-ci semblait répondre à une partie de la question sous-jacente.

Pods.xcconfig not working

La solution la plus simple est de changer de définir le fichier de configuration pour les cibles qui n'ont pas un jeu.

Pods.xcconfig working

98voto

Bill Burgess Points 8217

Mise à jour

J'ai mis à jour ce depuis mon plus original de la réplique, qui a obtenu le downvote, donc je espère que cette aide. Et si elle le fait, j'espère qu'il va obtenir mon vote dos.

Si les en-têtes ne sont pas importées, vous avez probablement un conflit dans l' HEADER_SEARCH_PATHS. D'essayer et d'ajouter $(inherited) à la tête des chemins de recherche dans vos Paramètres de construction pour s'assurer qu'il tire dans tous les chemins de recherche inclus dans le .xcconfig fichier à partir de votre CocoaPods.

Cela devrait vous aider avec tous les conflits et faire de votre source importées correctement.

64voto

averydev Points 2931

Fichiers d’en-tête, vous serez à la mort de moi...

Enfin réussi au faire travailler en ajoutant (y compris les guillemets)

à l’entrée de l’utilisateur en-tête chemins de recherche et la vérification « récursive ».

54voto

mactive Points 461

J’ai trouvé est manquant et il n’est pas définie dans mon développer git branch, alors j’ai ajouté pour les chemins de recherche Header avec celui-ci

C’est OK pour moi

36voto

brainray Points 2554

Les deux autres réponses n'ont pas d'aide ici. J'ai trouvé 2 autres problèmes qui pourraient résoudre le problème:

MODIFIER Vous pouvez vérifier un lien symbolique de cette façon: créer un fichier texte nommé "check" sans extension. copier ces lignes:

file=/Users/youUserName/XcodeProjectName/Pods/BuildHeaders/SVProgressHUD/SVProgressHUD.h
if [[ ! -e $file &&  -L $file ]]; then
  echo "$file symlink is  broken!"
else
  echo "symlink works"
fi

Ensuite, allez au terminal dans le dossier où votre fichier de contrôle est situé et le type

bash check

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X