Файл с лексическим или препроцессорным файлом не найден во время архивации?
![this is the screen shot foe the error]()
Я новичок в этом развитии iPhone, и я почти завершил свое первое приложение, но когда я пытаюсь создать архив, он дает ошибку, лексический или предварительно обработанный файл проблемы не найден. Но он отлично работает в симуляторе, а также тестировал на устройстве, Я включил архитектуру SDwebimage для ленивой загрузки изображения в виде таблицы. Может ли кто-нибудь сказать мне, в чем проблема?
Ответы
Ответ 1
Немногие вещи, чтобы попробовать, убедитесь, что Framework и все его заголовки импортированы в ваш проект должным образом.
Также в вашем Build Settings
установите YES
в Always search user paths
и убедитесь, что ваш User header paths
указывает на Framework.
Наконец, Build- > Clean и Restart Xcode.
Надеюсь, это поможет!
ОБНОВЛЕНИЕ. Согласно установке SDWebImage, вам необходимо внести изменения в Header Search Path
, а не User header paths
, как показано ниже.
![enter image description here]()
Вы тоже это сделали? Я предлагаю медленно, повторно выполнив все шаги установки с самого начала.
Ответ 2
Пробелы в имени папки в пути поиска заголовка могут вызвать эту проблему. Убедитесь, что в папках вашего проекта нет пробелов в именах.
Ответ 3
У меня была эта же проблема сейчас, и я обнаружил, что в моем подпроекте "Открытый паттерн папок заголовка" был установлен неправильный путь (по сравнению с тем, что мой основной проект использовал в качестве "Путь поиска заголовка" и "Поиск заголовка пользователя" Путь ").
например.
В моем основном проекте было следующее:
- Контуры поиска заголовков
- Отладка "build/Debug-iphoneos/../../Заголовки"
- Отпустите "build/Debug-iphoneos/../../Headers"
И то же самое для путей поиска заголовка пользователя
В то время как мой подпроект (зависимость) имел следующее:
- Открытый путь папки заголовка
- Отладка "include/BoxSDK"
- Релиз "include/BoxSDK"
Изменение "Путь к папке Public Header" в "../../Headers/BoxSDK" устранил проблему, поскольку основной проект уже искал эту папку ("../../Headers').
PS: Я сделал несколько скриншотов, но мне не разрешено публиковать ответ с изображениями, пока я не ударил репутацию 10: (
Ответ 4
У меня возникла эта проблема после изменения имени проекта. Я использовал все методы, упомянутые в Интернете, но все же не работает. Затем я понял, что все файлы заголовков не найдены из cocoapods, поэтому я повторно установил cocoapods с помощью pod install
и, таким образом, решил проблему.
Надеюсь, это поможет.
Ответ 5
В моем случае я разрабатывал фреймворк и имел внутри него тестовое приложение, чего не хватало внутри целевой целевой программы → настройки сборки → пути поиска в каркасе:
- Значение, которое должно быть каркасным путем (выход сборки -.framework), который в моем случае:
"../FrameworkNameFolder/" - 2 точки указывают на то, чтобы перейти в одну папку вверх.
Кроме того, внутри целевой тестовой программы → Сборка фаз → Ссылка на двоичные файлы с библиотеками:
- Мне пришлось удалить файл фреймворка, очистить проект, снова добавить файл фреймворка, скомпилировать его, и это также решило проблему.
Ответ 6
Мой проект строился нормально, пока я не обновил до Xcode 10.1. После обновления XCode начали Lexical or preprocessor Issue
ошибки Lexical or preprocessor Issue
при сборке. Не удалось найти некоторые заголовочные файлы XCDataModel.
Это решило проблему.
Перейдите в "Настройки сборки", "Пути поиска в заголовке". Измените подходящее значение с $ (SRCROOT) non-recursive
на recursive
.
Это гарантирует, что во вложенных папках также выполняется поиск заголовков во время сборки.
![enter image description here]()
Ответ 7
В новой версии есть исправление для этого, не стесняйтесь обновлять.
Или вы можете просто заменить
#include "iPhone_View.h"
с
#if UNITY_VERSION < 450
#include "iPhone_View.h"
#endif
Ответ 8
Удалите модульное тестирование из вашего проекта, выполните следующие шаги, чтобы решить проблему.
выберите проект из навигатора проекта, чтобы открыть редактор проекта. Из целевого объекта удалите тест с левой стороны редактора проекта и нажмите клавишу "Удалить".
Ответ 9
Я знаю, что это старо, но я все равно перезвоню, потому что это может быть полезно кому-то. Если вы все еще можете увидеть файл в Finder, затем щелкните файл в своем проекте и удалите его, выбрав "удалить ссылки", а не "переместить в корзину".
После удаления ссылки перетащите файл из поисковика в ваш проект еще раз, и он должен отсортироваться.
Ответ 10
Просто добавив еще одну вещь, которая сработала для меня:
react-native link
Очевидно, мои файлы ReactNative больше не были. Я мог бы понять это, нажав
Фазы сборки → Ссылка на двоичные файлы с библиотеками →
Затем щелкнул правой кнопкой мыши файл, который, как я знал, отвечал за React, и нажав Show In Finder
.
Но ничего не открылось. Поэтому, предположив, что библиотека пропала без вести, я просто запустил вышеприведенную команду, которая снова переделала все.
Также, если вы не используете, попробуйте:
rm -rf node_modules/ && npm install
Ответ 11
Это произошло со мной после того, как я переименовал файл. По какой-то причине он все еще искал файл со старым именем. То, что я сделал, это создать файл, который он жалуется и добавлен в проект. Затем я выполнил Project- > clean, затем Project- > Build и проверил, что ошибка исчезла. Затем я выбрал недавно добавленные файлы и удалил их. Это удалило все ссылки, и я больше не вижу ошибки.
Ответ 12
Я установил мой. Fb sdk скачал (из моего браузера) как "FacebookSDKs-iOS-4.22.0" - мне просто пришлось переименовать папку в FacebookSDK. Итак, теперь в Build
Настройки → Пути поиска в кармане
путь выглядит примерно как /Users/.../Documents/FacebookSDK (где, как и раньше, это /Users/.../Documents/FacebookSDKs-iOS-4.22.0)
Надеюсь, это поможет!
Ответ 13
Что бы это ни стоило, моя проблема была совершенно не связана с ошибкой, которую выдал Xcode. Я наткнулся на решение, удалив ссылку .h, скомпилировав, добавив ссылку обратно и снова скомпилировав. Фактическая ошибка стала очевидной.