web-dev-qa-db-fra.com

Xcode 7 ne trouve pas les fichiers d'en-tête du framework

J'essaie d'ajouter PassSlot à mon projet, mais il indique qu'il ne peut pas trouver le fichier .h. Je suis tout correctement depuis ici: https://github.com/passslot/passslot-ios-sdk

Est-ce un problème Xcode 7? Cela fonctionnait bien et maintenant que j'ai ouvert le projet sous Xcode 7, cela me pose problème. Je l'ai rouvert sur Xcode 6 et il commence également à montrer le problème.

36
somepers

Je pense que Dinesy a raison. Cela résout le problème pour moi. 

J'ai remarqué que Xcode7 ne remplit pas automatiquement le .__ requis. Les chemins de recherche du cadre lorsque vous importez un tiers (je crois que Xcode6 l’a fait). Vérifiez si les vôtres sont vides en allant dans Projet -> Paramètres de construction -> Chemins de recherche -> Chemins de recherche Framework. Remplissez le avec partout où vivent vos Frameworks. Si cela fait partie de votre projet, vous pouvez utilisez $ (PROJECT_DIR)

45
Spriter

Remplacer #import "Headerfile.h" par #import <Framework/Headerfile.h> a fonctionné pour moi.

21
BLC

Cochez la case "Destination: copier les éléments si nécessaire" lorsque vous faites glisser le cadre requis dans votre dossier Frameworks

Vous pourrez alors le référencer correctement maintenant.

Capture d'écran

11
mike_manila

Cela vient de se produire avec Xcode 7 et j'ai fini par devoir copier le fichier Framework (et bundle) tiers dans le répertoire principal de mon projet avant de le faire glisser dans le projet Xcode. Cela lui a permis d’ajouter le chemin de recherche correct du Framework et ne me posait plus aucun problème.

6
Gowiem

Cliquez moi-même sur ce problème après avoir créé une nouvelle cible de test dans Objective-C.

Il est important de se rappeler que dans certaines circonstances, chaque cible de test doit être répertoriée dans les dépendances Podfile avec pod. Si la variable Podfile associe uniquement le projet aux pods, les fichiers d'en-tête du pod risquent de ne pas être trouvés.

Voici un exemple de Podfile plus complexe provenant de les documents sur les cocoapodes .

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

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

post_install do |installer|
  installer.pods_project.targets.each do |target|
    puts "#{target.name}"
  end
end
1
Luciano

Dans mon cas, en utilisant CocoaPods, Xcode était en train de construire, mais une génération en ligne de commande ne pouvait pas localiser les en-têtes du framework.

La solution consistait à créer l'espace de travail, pas le projet!

0
Zaq