FBSDKCoreKit/FBSDKCoreKit.h не найдена ошибка

Я внедряю FB Login, поэтому я загрузил SDK из https://developers.facebook.com/docs/ios. затем я перетаскиваю n вниз FBSDKCoreKit, FBSDKLoginKit и FBSDKShareKit рамки в свой проект.

когда я запускал проект, он отлично работает. но когда я закрываю и снова открываю его, появляется "FBSDKCoreKit/FBSDKCoreKit.h not found error". затем снова я скопирую вставку FBSDKCoreKit в мою библиотеку проектов  и ошибка исчезает, и этот процесс продолжается. Кто-нибудь сталкивался с этой проблемой раньше?

что мне делать, чтобы решить эту ошибку?

Ответ 1

Обязательно выполните этот шаг:

Снимите флажок "Копировать объекты в папку группы назначения". https://developers.facebook.com/docs/ios/getting-started/

Также, в ваших настройках сборки, посмотрите на это поле: "Framework Search Paths" У вас должно быть что-то вроде этого:

/Users/[username]/Documents/FacebookSDK

или для более общего конфига

~/Documents/FacebookSDK

Кроме того, посмотрите на Finder и убедитесь, что фреймворк действительно существует

Ответ 2

После обновления Cocoapods 1.0.0 я удалил pod.lock и установил текущие версии стабильных pod (4.7.0 to 4.11.0) FBSDKCoreKit, FBSDKLoginKit, FBSDKShareKit

Затем я сталкиваюсь с той же ошибкой. Я сделал это:

  • Добавлены настройки пути поиска заголовков в Xcode:

    "${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK\"
    "${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK/FacebookSDK\"
    "${PODS_ROOT}/Headers/Public/FBSDKCoreKit\"
    "${PODS_ROOT}/Headers/Public/FBSDKCoreKit/FBSDKCoreKit\"
    

Тогда у меня все еще была ошибка для другого файла. Поскольку XCode использует рамки предварительной сборки.

FBSDKCoreKit/FBSDKCopying.h не найден

  • Очистить сборку → ⇧⌘K (Shift + Command + K) - очистить построенные фреймворки.
  • Очистить папку сборки → ⌥⇧⌘K (Option + Shift + Command + K)
  • Закрыть Xcode//важно! - В противном случае он автоматически создаст DerivedData для текущего открытого проекта.
  • Запустите эту команду в терминале

    rm -rf ~/Library/Developer/Xcode/DerivedData
    
  • Откройте XCode и успешно создайте

Ответ 3

Мне нужно решить эту проблему, удалив Framework и добавив его снова, щелкнув правой кнопкой мыши по проекту- > Добавить файлы..., затем выберите фреймворк и SELECT, чтобы скопировать файлы, если это необходимо. Я знаю, что это не то, что рекомендует Facebook, но я не мог заставить это работать, но так оно и работало! Я использую v4.6 из FBSDK и Xcode 7 beta 6. Надеюсь, это поможет вам и всем, кто сталкивается с одной и той же проблемой:)

Ответ 4

Это также заняло у меня часы боли! Наконец, я нашел проблему с корнем.

SDK ДОЛЖЕН Facebook находится в папке ~/Documents/FacebookSDK

Это связано с тем, что в проекте RCTFBSDK этот путь жестко запрограммирован. Но вы можете добавить свое настраиваемое местоположение, добавив его в пути поиска в рамках проекта RCTFBSDK (он будет отображаться на консоли ошибок)!

Ответ 5

Разработчики FB говорят не копировать файлы. Это создает проблему. Но я сделал противоположный.

  • При необходимости я выбрал элементы для копирования. Он скопировал Framework в моем проекте. Кроме того, xcode 7.2 был добавлен автоматически Search Path.

  • Также дважды проверьте, нет ли чего-либо в Framework Search Paths под Search Paths в <<24 > , а затем просто добавьте $(PROJECT_DIR), который равен /Users/user/Documents/....PROJECT..DIR...

Скомпилировано в 2 проекта успешно.

Ответ 6

Мне пришлось переместить путь FacebookSDK в Каркасных путях поиска выше $ (PROJECT_DIR)

$(SRCROOT)/../../../Documents/FacebookSDK
$(inherited)
$(PROJECT_DIR)

Ответ 7

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

Откройте папку ~/Documents/FacebookSDK. Проверьте, есть ли этот значок облака справа от имен файлов:

screenshot.png

Если это так, macOS удалил ваши файлы с вашего компьютера и загрузил их в iCloud! (спасибо Apple)

Вы можете:

  • Нажмите на все значки облаков, он вернет файлы обратно
  • Отключите оптимизацию хранилища на вашем Mac, чтобы предотвратить повторение этого события.

Ответ 8

Решение проблемы, если ваш FacebookSDK отличается от

~/Documents/FacebookSDK

Потому что вы не хотите, чтобы iCloud Drive загружался с FacebookSDK; Вы должны изменить "Пути поиска рамок" для добавленных

реагируют родной-fbsdk

Это потому, что в RCTFBSDK.xcodeproj внутри Libraires; путь жестко закодирован. Но вы можете добавить свое собственное местоположение, добавив его в Каркасные пути поиска проекта RCTFBSDK.

  1. Выберите проект
  2. Библиотеки
  3. Выберите "RCTFBSDK.xcodeproj"
  4. Настройки сборки
  5. Добавьте свой собственный путь в "Каркасные пути поиска", например: /Users/rajanmaharjan/FacebookSDK
  6. Clean Build → ⇧⌘K (Shift + Command + K) - очистить рамки сборки.
  7. Построить проект; он должен построить успешно.

Ответ 9

У меня была та же проблема. Я исправил его, используя кавычки вокруг значения пути поиска каркаса i.e. "/Users/.....". Очевидно, что у меня есть пробелы в моих файлах.

Ответ 10

У меня такая же проблема. Я использую версию SDK версии 4.10.0.
Я знал, что мое решение не очень хорошо, но работало для меня. Я изменил исходный код Facebook. Изменен путь к файлу импорта с #import <FBSDKCoreKit/FBSDKCoreKit+Internal.h> до #import <FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h>

Ответ 11

Для React Native devs:

Рекомендуемые шаги, которые необходимо сделать:

1. Убедитесь, что фреймворки Facebook SDK установлены в ~/Documents/FacebookSDK.

2) Убедитесь, что FBSDK [Core, Login, Share] Kit.framework отображается в разделе Link Binary with Libraries ваших целевых фаз сборки.

3) Убедитесь, что путь поиска фреймворка вашей целевой сборки

$(HOME)/Documents/FacebookSDK

вместо

~/Documents/FacebookSDK 

Если это все еще не работает для вас тогда:

1) sudo chmod -R 755 ~/Documents/FacebookSDK

2) установить путь поиска каркаса RCTFBSDK.xcodeproj в

  $(HOME)/Documents/FacebookSDK 

(под библиотеками вашей папки проекта) установите каркас поиска RCTFBSDK как здесь

очистите ваш проект (command+ shift + k) и постройте.

Ответ 12

Используя CocoaPods, единственное, что сработало для меня, было:

  • Обновить пути поиска заголовков ( НЕ пути поиска в кармане) в разделе "Настройки сборки" в Xcode:

    - "\"${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK\"",

    - "\"${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK/FacebookSDK\"",

    + "\"${PODS_ROOT}/Headers/Public/FBSDKCoreKit\"",

    + "\"${PODS_ROOT}/Headers/Public/FBSDKCoreKit/FBSDKCoreKit\"",

  • Добавьте отсутствующий заголовок (s?):

    cd Pods/Headers/Public/FBSDKCoreKit/FBSDKCoreKit/ && ln -s ../../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h FBSDKCoreKit+Internal.h

Изменить: точка 2. требуется, по-видимому, повторять после каждого следующего вызова pod install.

Ответ 13

Для Xcode 7.3 ниже работала для меня. Следуйте инструкциям, указанным в руководстве FB, а также выполните следующие действия:

шаг 1. перейдите в папку Document/FacebookSDK

Шаг 2. Нажмите FBSDKCoreKit.framework

Шаг 3. В этой папке "Удалить модули", а затем перетащите его в проект Xcode.

Ссылки: fooobar.com/questions/106888/...

Спасибо

Ответ 14

Для людей, перемещающихся с Carthage до Cocoapods, обязательно удалите ссылки Carthage FBSDKCoreKit из Link Binary With Libraries в разделе "Параметры сборки".

введите описание изображения здесь

Ответ 15

У меня была аналогичная проблема, и я все равно не смог разрешить ошибку компилятора.

Я выполнял и выполнял точные шаги интеграции несколько раз, пока не заметил, что у меня есть копия FBSDKCoreKit.framework внутри моей папки проекта (вероятно, по ошибке). Кроме того, Ракурсные пути поиска уже содержат $(PROJECT_DIR) кроме /Users/ {username}/Documents/FacebookSDK.

Итак, я удалил копию FBSDKCoreKit.framework из каталога проекта, и теперь все работает нормально.

Ответ 16

Я столкнулся с этим вопросом прошлой ночью и хотел опубликовать свое решение на случай, если у кого-то другая проблема. Моя проблема заключалась в том, что мое приложение создавало и работало отлично в симуле и на моем устройстве, однако сборка завершилась неудачно из-за FBSDKCoreKit всякий раз, когда я пытался запускать свои модульные тесты. Мне потребовалось около 30 минут, чтобы найти проблему, и я почувствовал себя манекеном, когда я это сделал.

Убедитесь, что пакет FBSDKCoreKit предназначен также для ваших тестов, а не только для вашей обычной сборки приложения.

Ответ 17

У меня была эта проблема при обновлении до Xcode 8 и я смог ее решить, изменив

#import <FBSDKCoreKit / FBSDKCoreKit.h>

to

#import <FBSDKCoreKit/FBSDKCoreKit.h>

Ответ 18

Когда вы добавляете каталог в свои настройки сборки → "Пути поиска в базе данных", убедитесь, что вы добавили его как в Debug AND Release.

Глупая ошибка, но если вы новичок в iOS dev в xcode, вы можете пропустить это.

Ответ 19

Лично у меня были проблемы с пробелами в разных путях, включая имя приложения. Удаление пробелов (или добавление "везде к защищенным путям" ) решило проблему.

Ответ 20

У меня была похожая проблема. Исправление состояло для меня в выборе: "КОПИРОВАНИЕ ФАЙЛОВ, ЕСЛИ НУЖНО" при ручном добавлении различных фреймворков в фреймворк XCode.

Ответ 21

Я перетащил фреймворк в папку Framework внутри xcode, решил копировать файлы при необходимости, и все работало нормально без каких-либо других изменений конфигурации.

Ответ 22

Для Xcode 10.x в вашем основном проекте и в библиотеках → RCTFBSDK.xcodeproj используйте $ (HOME)/Documents/FacebookSDK вместо ~/Documents/FacebookSDK в разделе "Настройки сборки" → "Пути поиска в рамках".

Ответ 23

Я установил реактив-родной-fbsdk и ссылку с использованием реактивной-родной ссылки реакт-родной-fbsdk.

Следуйте инструкциям по следующей ссылке

https://developers.facebook.com/docs/react-native/configure-ios

Это обеспечивает связывание реагирующей нативной библиотеки с помощью ios_setup.js. Есть следующий шаг, которому я следовал.

  1. Настройка на Facebook разработчик аккаунт.

  2. Установите файл ios_setup.js, выполнив следующую команду в командной строке в корневой папке вашего проекта.

curl -O https://raw.githubusercontent.com/facebook/react-native-fbsdk/master/bin/ios_setup.js

  1. Установите пакет plist, пакет xcode и пакет adm-zip, выполнив следующую команду. npm install plist xcode adm-zip
  2. Запустите сценарий ios_setup.js, выполнив следующую команду, и вставьте идентификатор приложения и имя приложения. Если имя вашего приложения длиннее одного слова, заключите его в кавычки.

node ios_setup.js [App ID] [App Name]

При запуске узла ios_setup.js он автоматически связывает все файлы в ios.

Ответ 24

После устранения неполадок используйте несколько ответов здесь. Это то, что я сделал.

  1. Я изменил ~/Documents/FacebookSDK на "$(HOME)/Documents/FacebookSDK" примечание: я использовал кавычки "
  2. Я переместил "$(HOME)/Documents/FacebookSDK" в верхнюю часть списка в путях поиска заголовка.

Ответ 25

- > Создает конфигурацию.

     -> Framework Search paths.

поместите каталог FacebookSDK в мой случай ~/Документы/FacebookSDK в:

Отладка

Любая архитектура я Any Sdk,

Release.

особенно эта ошибка, потому что нет пути в любой архитектуре я Any Sdk в моем случае

~/Документы/FacebookSDK и следует отметить, что папка FacebookSDK должна быть в Domuments

Пример

https://photos.app.goo.gl/5bD4d39a11AalYsx1

Ответ 26

Измените каталог /Users/[username]/Documents/FacebookSDK/ на Documents/FacebookSDK следующим образом:

xcode