2011-03-04 5 views
33

Je travaille sur une application en xcode 4 et tout allait très bien, puis quelque chose d'étrange a commencé à se produire. Chaque fois que je crée une nouvelle classe (n'importe quel type de classe, ViewController, NSObject, etc.) et que je l'importe dans un autre fichier .m, j'obtiens le fichier d'erreur "className.h" introuvable..h fichier introuvable

Les fichiers sont dans le projet et le sens du code dans xcode fournit même le nom de la classe lorsque je tape l'instruction # import. Je ai quitté xcode puis nettoyé le projet et cela n'a rien fait.

Toutes les idées, cela me rend fou!

Répondre

4

Doit être un problème avec le logiciel ... après avoir quitté xcode et le simulateur plusieurs fois, cela fonctionne à nouveau. Je n'ai rien changé. Mais maintenant, l'auto-complétion a cessé de fonctionner! Que sera sera.

33

je rencontre le même problème et les étapes suivantes fixer mes questions:

  1. Aller à la cible du projet.
  2. Aller dans le "Build Phases"
  3. Développez la liste "Sources Compile"
  4. supprimer le [nom de fichier qui provoque l'erreur] .M
  5. Ajoutez le fichier en arrière.
+3

Basé sur cette solution, j'ai trouvé que simplement utiliser Product> Clean fonctionne également. –

+0

Assurez-vous également que dans l'onglet Phases de construction, le fichier h est dans Public au lieu de Projet ou vice versa selon vos besoins. – Nick

+0

Ne travaillait pas pour moi. Ajout de IG.framework de infragistics, puis importation de leur en-tête à l'aide de chevrons .... pas de chance. –

2

Ouvrez le fichier .m lié au fichier .h qui provoque l'erreur. Dans les utilitaires (sur la barre de droite), allez à l'appartenance cible et décochez et vérifiez à nouveau (ou vérifiez simplement si elle n'a pas été cochée) la cible que vous voulez.

+0

Il n'y a pas de fichier .m associé à CocoaLibSpotify.h –

30

Je viens d'avoir le même problème et j'ai essayé les solutions ci-dessus. Ce qui a fonctionné pour moi était un nettoyage du projet.

Dans la barre de menu aller ...

Produit -> Clean

Quand cela est prise complète sur la touche option et à nouveau dans la barre de menu Aller à ...

produit -> Clean Folder Build

Je ne suis pas sûr si le nettoyage du dossier de construction était nécessaire. C'est juste devenu une habitude pour moi de faire les deux. Je dois faire cela plus que je ne le voudrais dans Xcode.

+2

Je ne trouve aucune option telle que Product -> Clean Build Folder. Pouvez-vous aider? –

+3

Vous devez maintenir la touche d'option enfoncée tout en regardant le menu Produit pour voir "Clean Build Folder". – JDCartee

+13

Vous savez ce qui est génial? Un IDE qui vous oblige à maintenir des touches spéciales pour voir les choses dont vous avez besoin. C'est une bonne conception de l'interface utilisateur./s – mmr

11

ce type de problème se produit en raison de l'importation cyclique. Dites si vous avez un fichier d'en-tête Ah et que vous importez Bh et Bh si vous importez à nouveau Ah alors cela montrera l'erreur fichier Ah non trouvé ...

2

peut-être vous utilisez #import "quelque chose.h "au lieu de #import ('<>' utilisé pour les fichiers de structure)

+0

juste eu ce problème moi-même et c'est ce qui le provoquait – Edoz

-2

Lorsque vous choisissez le modèle pour votre nouveau fichier, choisissez la classe Cocoa Touch, mais pas Object-C File, vous obtiendrez à la fois .m et. h fichiers

7

Pour moi, il s'agissait du paramètre de chemin relatif Lorsque j'ai modifié le paramètre d'emplacement de "Relatif au groupe" par "Relatif au projet", le fichier d'en-tête a été trouvé soudainement. que le chemin où il regardait était incorrect, il n'a pas semblé traverser correctement l'arborescence de répertoires, ce qui m'a conduit à essayer les autres paramètres relatifs

enter image description hereenter image description here

+1

cette solution est un 'must' si vous utilisez XCode – EarlySun