2011-03-04 36 views
33

Pracuję nad aplikacją w koderze 4 i wszystko układało się świetnie, wtedy zaczęło się dziać coś dziwnego. Za każdym razem, gdy utworzę nową klasę (dowolny typ klasy, ViewController, NSObject itp.) I zaimportuję go do innego pliku .m otrzymam błąd "className.h" nie znaleziono pliku..h plik nie został znaleziony

Pliki znajdują się w projekcie, a kod w kodzie xcode podaje nawet nazwę klasy podczas pisania instrukcji #import.

Opuściłem xcode, a następnie wyczyściłem projekt i to się nie udało.

Wszelkie pomysły, doprowadzają mnie do szału!

Odpowiedz

4

To musi być problem z oprogramowaniem ... po kilkukrotnym zamknięciu kodu i symulatora ponownie działa. Nic nie zmieniłem. Ale teraz autouzupełnianie przestało działać! Que sera sera.

33

I napotkać ten sam problem i kolejne kroki rozwiązać moje problemy:

  1. Idź do celu projektu.
  2. Go „build Fazy”
  3. Rozwiń „skompilować źródła”
  4. usunąć [nazwa pliku, które powodują błąd] .m
  5. Dodaj plik z powrotem.
+3

Na podstawie tego rozwiązania stwierdziłem, że po prostu używanie produktu> Czyszczenie również działa. –

+0

Upewnij się także, że w zakładce Fazy kompilacji plik h znajduje się w publicznym zamiast w projekcie lub odwrotnie, w zależności od Twoich potrzeb. – Nick

+0

Nie działa dla mnie. Dodanie IG.framework z infragistyki, a następnie zaimportowanie ich nagłówka za pomocą nawiasów trójkątnych ... bez powodzenia. –

2

Otwórz plik .m związany z plikiem .h, który powoduje błąd. W Utilities (na prawym pasku) przejdź do członkostwa docelowego i odznacz i sprawdź ponownie (lub po prostu zaznacz, czy to nie jest zaznaczone) cel, który chcesz.

+0

Nie ma pliku .m związanego z CocoaLibSpotify.h –

30

Po prostu miałem ten sam problem i wypróbowałem powyższe rozwiązania. To, co zadziałało, było czystym projektem.

Na pasku menu Idź do ...

Produkty -> Clean

Po jego zakończeniu należy przytrzymać klawisz Opcja i ponownie na pasku menu przejść do ...

Produkty -> Clean Budowa Folder

Nie jestem pewien, czy konieczne było wyczyszczenie folderu kompilacji. Po prostu przyzwyczaiłem się do zrobienia obu tych rzeczy. Muszę to zrobić bardziej niż chciałbym w Xcode.

+2

Nie znajduję żadnej opcji, takiej jak Product -> Clean Build Folder. Możesz pomóc? –

+3

Należy przytrzymać klawisz opcji, patrząc w menu produktu, aby zobaczyć "Czysty folder kompilacji". – JDCartee

+13

Wiesz, co jest niesamowite? IDE, który wymaga przytrzymania specjalnych klawiszy, aby zobaczyć rzeczy, których potrzebujesz. To dobry projekt interfejsu użytkownika./s – mmr

11

Ten rodzaj problemu występuje z powodu cyklicznego importu . Powiedzieć, czy masz plik nagłówka Ah i importujesz Bh aw Bh jeśli znowu importowania Ah wówczas pokaże plik błąd Ah nie znaleziono ...

2

może używasz czegoś #import ".h "zamiast #import (" <> "używany do plików frameworka)

+0

sam popsuł mi ten problem i to właśnie powodowało to – Edoz

-2

Wybierając szablon dla nowego pliku, wybierz klasę dotykową kakao, ale nie plik obiektu C, otrzymasz zarówno .m jak i. h pliki

7

Dla mnie okazało się, że jest to ustawienie dla ścieżki względnej. Kiedy zmieniłem ustawienie lokalizacji z "Względny na Grupę" na "Względny dla Projektu", nagle plik nagłówka został znaleziony. Zauważyłem w dzienniku że ścieżka, na której się znajdował, była niepoprawna, nie wydawała się poprawnie przechodzić przez drzewo katalogów, co skłoniło mnie do wypróbowania innych ustawień względnych:

enter image description here

+1

to rozwiązanie jest" must know "jeśli używasz XCode – EarlySun

Powiązane problemy