web-dev-qa-db-fra.com

Les Cocoapods ne peuvent pas trouver l'en-tête xcode 6

J'ai un problème xcode ne trouve pas les en-têtes de mes pods dans mon espace de travail.

Le chemin de recherche des en-têtes semble correct

https://www.dropbox.com/s/ulqqai825a6xrg4/Screenshot%202014-09-29%2010.24.04.png?dl=1

Voici le contenu de mon podfile

target "MyApp" do
pod 'AFNetworking', '~> 2.0'
pod 'Reachability'
pod 'ViewDeck', '2.2.11'
pod 'MBProgressHUD', '~> 0.8'
end

Mais quand je construis le projet, j'ai cette erreur dans le prefix.pch

/Users/...../MyApp-Prefix.pch:17:13: Fichier 'AFNetworking.h' introuvable

J'ai essayé d'ajouter platform :ios, "8.0" dans mon podfile et de faire un pod update mais toujours pas de chance

J'ai aussi essayé d'ajouter $ (hérité) comme suggéré dans la question SO: Xcode 6 ne trouve pas les bibliothèques cocoapods

J'utilise xcode 6 sur mavericks

30
Ptitaw

J'ai trouvé une solution. Dans les propriétés de votre projet, remplacez ceci:

I FOUND SOLUTION

105

Vous pouvez également vouloir lier vos pods avec vos deux cibles, comme ceci:

platform :osx, '10.7'

link_with 'MyApp', 'MyApp Tests'
pod 'AFNetworking', '~> 1.0'
pod 'Objection', '0.9'

De Documents Cocoapods et cette réponse


Mise à jour: Cela ne fonctionne plus pour Cocoapods 1.0+, la manière correcte d'implémenter le fichier podfile est la suivante:

platform :ios, '9.0'
inhibit_all_warnings!

target 'MyApp' do
  pod 'ObjectiveSugar', '~> 0.5'

  target "MyAppTests" do
    inherit! :search_paths
    pod 'OCMock', '~> 2.0.1'
  end
end

Source: https://guides.cocoapods.org/syntax/podfile.html#podfile

19
jwswart

J'ai pu résoudre ce problème dans mon projet. J'ai eu une deuxième cible pour les tests. Je n'ai jamais utilisé cette cible et l'erreur a disparu après l'avoir supprimée du projet. Alors peut-être que votre cible principale n’est pas la source du problème, mais une autre.

6
Stefan Arn

Je suis d'accord avec la réponse de jwswart car je me suis souvent rendu compte que le problème consistait simplement à définir des dépendances pour "MyApp" et à laisser "MyAppTests" comme dans:

cible: 'MyApp' do

..

fin

interrompt le processus de construction car les classes définies dans 'MyApp' utilisent des dépendances non visibles dans les 'MyAppTests'. Ainsi, comme l'a suggéré jwswart: 

link_with 'MyApp', 'MyApp Tests'

0
Oscar