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

Лексический или препроцессорный выпуск "Файл FacebookSDK/FacebookSDK.h" не найден

Я просто добавляю facebookSDK.framework в проект ios через этот документ: Начало работы с SDK для iOS.

Я успешно создал и запустил проект Xcode, выполнив его. Но когда я копирую исходный код и запускаю его на другом ПК, следующая ошибка "Лексический или препроцессорный выпуск" Файл FacebookSDK/FacebookSDK.h не найден "

Я также добавил facebookSDK.framework в свой ресурс проекта и повторил попытку, но не решил его.

Итак, скажите, пожалуйста, как это сделать для запуска этого проекта в другом месте.

4b9b3361

Ответ 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"

  1. Убедитесь, что в пути поиска библиотеки ничего нет.
  2. Теперь нажмите на проект (выше цели) → Установите настройки и повторите шаги 7 и 8.
  3. Теперь очистите проект и создайте проект.

Надеюсь, что это сработает. Не забудьте сохранить имена папок с пробелами. Если вы сохранили их, убедитесь, что вы предоставили правильные 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 измените его с рекурсивного на рекурсивный.

Причиной проблемы является то, что вы помещаете свои фреймворки в подкаталог, а не в корневой каталог.