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.
- Выберите проект
- Библиотеки
- Выберите "RCTFBSDK.xcodeproj"
- Настройки сборки
- Добавьте свой собственный путь в "Каркасные пути поиска", например: /Users/rajanmaharjan/FacebookSDK
- Clean Build → ⇧⌘K (Shift + Command + K) - очистить рамки сборки.
- Построить проект; он должен построить успешно.
Ответ 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. Есть следующий шаг, которому я следовал.
-
Настройка на Facebook разработчик аккаунт.
-
Установите файл ios_setup.js, выполнив следующую команду в командной строке в корневой папке вашего проекта.
curl -O https://raw.githubusercontent.com/facebook/react-native-fbsdk/master/bin/ios_setup.js
- Установите пакет plist, пакет xcode и пакет adm-zip, выполнив следующую команду.
npm install plist xcode adm-zip
- Запустите сценарий ios_setup.js, выполнив следующую команду, и вставьте идентификатор приложения и имя приложения. Если имя вашего приложения длиннее одного слова, заключите его в кавычки.
node ios_setup.js [App ID] [App Name]
При запуске узла ios_setup.js он автоматически связывает все файлы в ios.
Ответ 24
После устранения неполадок используйте несколько ответов здесь. Это то, что я сделал.
- Я изменил
~/Documents/FacebookSDK
на "$(HOME)/Documents/FacebookSDK"
примечание: я использовал кавычки "
- Я переместил
"$(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]()