Подтвердить что ты не робот

.h файл не найден

Я работаю над приложением в xcode 4, и все идет отлично, тогда что-то странное только начинало. Каждый раз, когда я создаю новый класс (любой тип класса, ViewController, NSObject и т.д.) И импортирую его в другой .m файл, я получаю сообщение об ошибке "className.h" файл не найден.

Файлы находятся в проекте, а смысл кода в xcode даже присваивает имя класса, когда я набираю оператор #import.

Я ушел из xcode, затем очистил проект и ничего не сделал.

Любые идеи, это сводит меня с ума!

4b9b3361

Ответ 1

У меня была одна и та же проблема, и я попробовал вышеупомянутые решения. То, что сработало для меня, было чистым от проекта.

В строке меню перейдите к...

Продукт → Очистка

Когда это будет завершено, удерживайте клавишу выбора и снова в строке меню перейдите к...

Продукт → Очистить папку сборки

Я не уверен, нужна ли чистая папка сборки. Для меня просто становится привычкой делать то и другое. Я должен сделать это больше, чем хотелось бы в Xcode.

Ответ 2

Я столкнулся с той же проблемой, и следующие шаги решают мои проблемы:

  1. Перейти к цели проекта.
  2. Перейдите к "Фазам сборки"
  3. Разверните "Компиляция источников"
  4. удалите [имя файла, вызвавшее ошибку] .m
  5. Добавьте файл обратно.
  6. Прокрутите вниз, в Этапы сборки, до "Заголовки (n элементов)" и добавьте файл .h в раздел "Public/Private"

Ответ 3

эта проблема возникает из-за циклического импорта. Скажем, если у вас есть файл заголовка Ah, и вы импортируете Bh ​​ и в Bh ​​, если вы снова импортируете Ah то это покажет ошибку Файл Ah не найден...

Ответ 4

Для меня это оказалось настройкой для относительного пути. Когда я изменил настройку местоположения на "Относительно группы" на "Относительно проекта", неожиданно был найден заголовочный файл. Я заметил в журнале, что путь, на котором он смотрел, был неправильным, он, похоже, не правильно прошел дерево каталогов, что заставило меня попробовать другие относительные настройки.

enter image description here

Ответ 5

Должна быть проблема с программным обеспечением... после того, как вы несколько раз удалили xcode и симулятор, он снова работает. Я ничего не изменил. Но теперь автозаполнение перестало работать! Que SERA SERA.

Ответ 6

Откройте файл .m, связанный с файлом .h, который дает ошибку. В Утилитах (на правой панели) перейдите к целевому членству и снимите флажок и снова проверьте (или просто проверьте, не был ли он отмечен) целевой объект, который вы хотите.

Ответ 7

возможно, вы используете #import "something.h" вместо #import ('< > ', используемый для файлов фреймворка)

Ответ 8

В инспекторе файлов я обнаружил, что мой новый путь к файлу .h отсутствует в Pod/Classes/

Ответ 9

Моя проблема заключалась в том, что я добавил модуль MetalPetal и не смог получить доступ к заголовку "MTIShaderLib.h" для создания пользовательских фильтров, даже если заголовок был объявлен как открытый. Я попробовал все выше и все больше и больше и больше из других ответов, но проблема была указана в инструкциях по установке модуля, которые я пропустил.

enter image description here

Что мне нужно было сделать, так это перейти к значку основного приложения (blue icon), выбрать " Build Settings, а затем в поле поиска я ввел header search paths в header search paths.

В разделе " Metal Compiler - Build Options я перешел к " Header Search Paths в Header Search Paths и нажал arrow.

Я нажал " debug (затем release потом), и во всплывающем окне я нажал знак " + внизу и ввел:

$ {} PODS_CONFIGURATION_BUILD_DIR/MetalPetal/MetalPetal.framework/Headers

Я сделал это для них обоих.

enter image description here

enter image description here

Проблема была решена после многих разочаровывающих часов.

Ответ 10

Убедитесь, что путь к заголовку пользователя указан правильно!

Ответ 11

В настройках сборки... изменение стандартной библиотеки C++ с libstd++ (GNU C++) на lib C++ (LLVM) сработало для меня !!

Ответ 12

Я решил проблему, когда обнаружил, что при запуске import "FileName" типа import "FileName" происходит автозаполнение для некоторых заголовочных файлов, но не для всех. Я предполагаю, что файл, который не может заполнить автозаполнение, как-то сломан.

Затем я просто удаляю их из вкладки XCode файлов и снова перетаскиваю, используя команду "Добавить файл".

Ответ 13

При выборе шаблона для нового файла выберите Cocoa Touch Class, но не файл Object-C, вы получите файлы .m и .h