Лексический или препроцессорный выпуск "Файл FacebookSDK/FacebookSDK.h" не найден
Я просто добавляю facebookSDK.framework в проект ios через этот документ: Начало работы с SDK для iOS.
Я успешно создал и запустил проект Xcode, выполнив его. Но когда я копирую исходный код и запускаю его на другом ПК, следующая ошибка
"Лексический или препроцессорный выпуск" Файл FacebookSDK/FacebookSDK.h не найден "
Я также добавил facebookSDK.framework в свой ресурс проекта и повторил попытку, но не решил его.
Итак, скажите, пожалуйста, как это сделать для запуска этого проекта в другом месте.
Ответы
Ответ 1
У меня очень похожая проблема, но в моем случае это с SDK Amazon Web Services, а не с SDK для Facebook. Для меня проблема оказалась связанной с моим курсором нагрузки.
Решение: Перейдите в раздел "Настройки сборки" в Xcode, а в разделе "Пути поиска" есть пункт "Пути поиска в Framework". Дважды щелкните по нему и добавьте новый путь поиска: .
и сделайте его рекурсивным. Очистите и постройте.
Предполагается, что ваша инфраструктура хранится где-то внутри вашего каталога проектов. Если нет, измените новый путь поиска по мере необходимости.
Ответ 2
У меня была эта проблема и исправил ее, выполнив следующее:
- Удалите фреймворк FacebookSDK из вашего проекта.
- Удалите любые ссылки на SDK для Facebook из вашей "Структуры"
Пути поиска "и" Пути поиска заголовков "в настройках сборки (помните
эта настройка существует как в разделе "Проект", так и "Цель", поэтому очистите ее
из обоих мест)
- Очистите проект, сохраните и закройте.
- Перезапустите проект.
- Повторно добавьте инфраструктуру SDK для Facebook, перетащив ее в свой проект.
- Compile. На данный момент это было исправлено для меня.
Ответ 3
В моем случае я делал что-то похожее на вас (одно дело другое), это сработало для меня. Ниже приведены шаги:
-
Перейдите в каталог FacebookSDK, выберите FacebookSDK.framework, щелкните правой кнопкой мыши и нажмите "Получить информацию", затем скопируйте путь к файлу (что-то вроде:/Users/macbook/Documents/FacebookSDK)
-
Перейдите в "Настройки сборки" в Xcode, а в разделе "Пути поиска" есть пункт "Пути поиска в Framework". Дважды щелкните его и вставьте путь к файлу, который вы только что скопировали.
-
Знайте, что этот параметр существует как в "Project", так и "Target", поэтому вставьте его в оба места.
-
Очистить проект и построить. На этот раз он должен работать.
Ответ 4
Мое решение проблемы с Lexical или Preprocessor - ошибка, не найденная в файле:
Перейти к Xcode = > Project Target = > Настройки сборки = > Пути поиска
Затем вставьте следующий путь в пути поиска и пути поиска в библиотеке, используя ваше собственное имя проекта по этому пути:
"$ {SRCROOT}//имя проекта /facebookSDK/framework "
Ответ 5
Я решил это сообщение об ошибке, перетащив папку DeprecatedHeaders
из SDK (он живет в FacebookSDK/Versions/Current
) в папку Frameworks
рядом с FacebookSDK.framework
.
Добавление всех путей поиска (включая .
, как было предложено выше) не помогло, и ответ от Mr_bem help - файл .m
уже существовал в "источниках компиляции"
Это не может напрямую помочь с вопросом OP, но, надеюсь, поможет другим, как я.
Ответ 6
В моем случае проблема заключалась в MillenialMedia SDK:
Лексический или препроцессорный выпуск "MillennialMedia/MMSDK.h" файл не найдено
Это было решено путем удаления рамок SDK из проекта, перемещения фреймворков в папку верхнего уровня проекта (где хранился файл .xcodeproj). А затем добавьте Frameworks в Project in Build Phases.
Иногда вам необходимо повторно загрузить SDK-архив официальной страницы (если он был поврежден или что-то в этом роде). В моем случае это произошло после нажатия моего проекта на удаленный репозиторий с офисного компьютера и вытаскивания его с домашнего компьютера.
Удаление фреймворков
![Removing frameworks]()
Перемещение фрейвворков из внутренней папки в папку верхнего уровня проекта (в той же папке, где хранится ваш файл .xcodeproj
![Moving framevorks from inner folder to top-level Project folder]()
Добавление фреймворков к проекту
![Adding frameworks back to the project]()
Ответ 7
- Нажмите синий значок из браузера файлов в xcode (верхний с именем вашего проекта)
- Нажмите на целевые объекты, затем выполните фазы.
- Разверните скомпилированные источники.
- Добавьте свои файлы в Facebook.
Это должно сделать это.
Если нет, просто очистите проект (команда + shift + k), а затем снова добавьте фреймворк (Y).
Если у вас есть еще вопросы, просто спросите: D
Ответ 8
У меня такая же проблема. Возможно, вы использовали tortoiseSVN (windows) для проверки исходного кода.
Это моя проблема:
Mac = > submit source = > Window = > checkout source = > Копировать исходный код из окна в Mac = > compile = > ошибка.
Решение: с помощью svn для Mac вы можете проверить источник.
Ответ 9
В моем случае это был Xcode и его прекрасная особенность F *** inging stuff:)
Решение: Перейдите в раздел "Настройки сборки" в Xcode, а в разделе "Пути поиска" есть пункт "Пути поиска в Framework". Убедитесь, что у вас нет косых черт перед кавычками, которые обычно добавляются при добавлении фреймворка через "Добавить файлы в..." на Xcode.
Если вы видите косые черты перед цитатой, удалите их.
Пример:
\"
Должно быть
"
Ответ 10
Когда у меня возникла эта проблема, я обнаружил, что проект вернулся чистым, но когда я попытался запустить его, я получил ошибку. Если я прокомментировал файлы facebook.h, то он просто переключился на следующие файлы в моем префиксном файле и все еще создал ошибку.
Я был готов начать изменять настройки сборки и пути поиска, но решил закрыть все мои проекты Xcode и сначала перезапустить его, что сработало для меня.
Написание этого кажется почти слишком очевидным, чтобы попытаться, но как только появилась ошибка, я был на stackoverflow и попробовал ответы, предложенные выше. Моя ситуация может быть редкими и уникальными, но, безусловно, попробуйте перезапустить и закрыть все сначала, так как занимает всего 10 секунд и работает для меня.
Ответ 11
Хорошо, ребята, я думаю, что получил ответ. Выполните следующие действия.
- Скопируйте фреймворк в свой проект.
- Убедитесь, что он находится в каком-то каталоге. например. $(project_dir)/project_name/Ресурсы/Каркасы
- Нажмите на цель.
- Перейти к
Build Phases->Link binary with Libraries
- Добавьте пользовательскую структуру, нажав
"Add Other"
- Проверьте в навигаторе проекта, что инфраструктура существует только один раз.
- Теперь перейдите
Build Settings->Search Paths->Framework Search Path
и убедитесь, что он имеет следующие две вещи.
(a) $(унаследованный)
(b) $(PROJECT_DIR)/project_name/Resources/Frameworks.
Не напоминать, что инфраструктура существует внутри папки "Frameworks"
- Убедитесь, что в пути поиска библиотеки ничего нет.
- Теперь нажмите на проект (выше цели) → Установите настройки и повторите шаги 7 и 8.
- Теперь очистите проект и создайте проект.
Надеюсь, что это сработает.
Не забудьте сохранить имена папок с пробелами. Если вы сохранили их, убедитесь, что вы предоставили правильные escape-символы.
Ответ 12
У меня была такая же проблема и выясните причину этой ошибки в моем случае, потому что в "Пути поиска Framework" есть больше, чем одна "facebookSDK.framework" .
Вы можете проверить все "пути поиска в каркасе" в своем проекте и убедиться, что Xcode может найти только один "facebookSDK.framework" в этих путях.
Ответ 13
Значения в Пути поиска Framework и Контуры поиска заголовков были первоначально такими же, что упоминались здесь другими.
Я проверил, чтобы связать библиотеку вручную, перетащив ее в Xcode.
Библиотека FB SDK уже присутствовала.
Проблема заключалась в имени папки загруженного SDK
Я переименовал его в FacebookSDK и запустил мое приложение
Ответ 14
Если вы используете эту командную строку для плагина facebook на IOS
cordova -d plugin add /path/to/cloned/phonegap-facebook-plugin --variable APP_ID="123456789" --variable APP_NAME="myApplication"
И вы видите фреймворк FacebookSDK.framework в своих Framework, но вы не можете его расширять.
Вернитесь назад и используйте cordova plugin remove phonegap-facebook-plugin
, затем
git clone https://github.com/Wizcorp/phonegap-facebook-plugin.git
, а затем снова добавьте плагин facebook.
Ответ 15
vote539 правильный, но...
Blockquote. Перейдите в "Настройки сборки" в Xcode, а в разделе "Пути поиска" есть пункт "Пути поиска в Framework".
Затем дважды щелкните по текущим путям для "Пути поиска в базе данных".
Появится окно. Для элемента $(PROJECT_DIR)/yourAppName измените его с рекурсивного на рекурсивный.
Причиной проблемы является то, что вы помещаете свои фреймворки в подкаталог, а не в корневой каталог.