Проблемы компиляции, сборки или архивирования с Xcode 4 (и зависимостями) - PullRequest
96 голосов
/ 07 апреля 2011

Этот вопрос эволюционировал в течение последних нескольких недель, чтобы охватить более общие проблемы с (и проектами обновления с более старых s).

Однако многие проблемы можно решить, следуя тому же набору инструкций.

Если у вас есть какие-либо из следующих проблем, попробуйте методы в принятом ответе:

  • Xcode 4 не может заархивировать приложение
  • Xcode 4 создает непригодный архив
  • Xcode 4 не создает .ipa
  • Xcode 4 не может скомпилироваться из-за ошибок препроцессора
  • Xcode 4 не может найти заголовки
  • Полный код Xcode 4 не работает
  • Зависимости проекта не компилируются
  • Добавление зависимости вызывает любую из перечисленных выше проблем

Оригинальный вопрос

Заголовок: «Файл лексической проблемы или проблемы препроцессора не найден» в Xcode 4

У меня есть проект в Xcode 4, который будет прекрасно работать и работать на устройстве и симуляторе, но при попытке заархивировать его ошибки при поиске файлов заголовков, связанных со статической библиотекой:

In file included from /Volumes/Development/Path/LBProject/LBProject/LBProject-Prefix.pch:15:
In file included from /Volumes/Development/Path/LBProject/LBFDefines.h:23:
In file included from /Volumes/Development/Path/LBProject/Classes/LBProjectAppDelegate.h:11:
In file included from /Volumes/Development/Path/LBProject/LBProject/../FKNDirectory/FKNDirectoryManager.h:10:
/Volumes/Development/Path/LBProject/LBProject/../FKNDirectory/FKNDataModel.h:11:9: fatal error: 'Merchant.h' file not found [1]
 #import "Merchant.h"
         ^
1 error generated. 

Xcode выдает ошибку

lexical or preprocessor issue file not found 

Многое Поиск в Google показал, что многие люди имеют эту проблему, но не имеют решения. Любой получил исправление или даже подсказку.

Обновление: Для путей поиска user header установлено значение ${BUILT_PRODUCTS_DIR} во всех конфигурациях. Он прекрасно работает с любой конфигурацией, кроме случаев архивирования.

Обновление 2: Merchant.h - это класс Core Data, который генерируется автоматически и поэтому находится в пакете .xcdatamodeld, однако все заголовки копируются в общедоступный каталог заголовков при сборке библиотеки.

Ответы [ 14 ]

1 голос
/ 25 мая 2011

Я получаю эту ошибку "файл не найден" для одного конкретного файла .h в моем проекте. Я решил проблему, удалив этот файл .h из проекта (выбрав «Удалить ссылки») и повторно добавив его.

1 голос
/ 08 апреля 2011

У меня похожие проблемы на симуляторе, но не на устройстве, и мои поля пути поиска в заголовке пусты (кажется, по умолчанию). Но изменение рабочих областей, похоже, решило проблему. Возможно, вы могли бы попытаться создать новое рабочее пространство, добавить в него свой проект и посмотреть, поможет ли это. Сейчас я расследую почему.

1 голос
/ 07 апреля 2011

Похоже, что ваши пути поиска заголовка неправильно настроены в настройках вашей сборки для активной схемы. Проверьте их и обновите ваш вопрос с текущими настройками.

0 голосов
/ 04 июля 2012

Для меня эта проблема возникла после того, как я добавил новые файлы в проект;пустой .m и .h, полученный из NSObject.Вот как я решил это:

  1. Закрыто и перезапущено xCode
  2. Удалил два новых файла через XCode
  3. Перекомпилировано успешно

Iзатем снова добавили их, и это также сработало.

Определенно ошибка в xCode ...

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...