it-swarm.com.ru

Ошибка сборки: файл FBSDKShareKit.h не найден после обновления до Xcode 10

Я создаю приложение, использующее реагировать нативно, который использует FBSDK (react-native-fbsdk). Все это работало без проблем, но после того, как я обновил свой Xcode с 9.4 до 10.0, я больше не могу собрать проект из-за ошибки:

Файл 'FBSDKShareKit/FBSDKShareKit.h' не найден

Я нашел несколько вопросов, которые, кажется, имеют ту же проблему, и попробовал их предложение, но все еще не может успешно построить. Вещи, которые я пробовал:

  1. Добавление "~/Documents/FacebookSDK" в каркасный путь поиска
  2. Убедитесь, что FBSDK [Core, Share, Login] Kit.framework и libRCTFBSDK.a находятся в двоичном соединении с библиотеками
  3. Используя "rm -rf ~/Library/Developer/Xcode/DerivedData" для очистки данных, затем попытайтесь построить снова
  4. Удаление фреймворков из папки FacebookSDK и добавление их снова

На данный момент, я не уверен, что еще я должен попробовать. Самое странное, что он работал до обновления XCode, значит ли это, что произошли изменения в самом XCode, которые вызвали это?

Кто-нибудь есть идеи по этому поводу или сталкивался с этой проблемой?

Правка: мне удалось успешно построить проект, изменив систему сборки с новой системы сборки на устаревшую систему сборки. Теперь приложение запускается (может быть, что-то изменилось в проектах сборки Xcode, которые несовместимы с текущим fbsdk?)

7
rabbit87

Мне, наконец, удалось построить проект, когда я установил систему сборки на новую систему сборки, добавив 

$ (project_dir) /../../../ ИОС

в (целевые) пути поиска RCTFBSDK. 

Я думаю, что это; из-за того, что файл .frameworks находится в папке ios вместо ios/Frameworks, проект не может найти нужный файл. (Почему это работает, если я использовал Legacy Build System до сих пор для меня загадка).

Я тестировал как на эмуляторе, так и на устройстве; оба, кажется, работают нормально.

10
rabbit87

Что сработало для меня:

Я создал папку Frameworks в папке ios и переместил весь файл fdsdk в.

Затем мне пришлось удалить FBSDK [Core, Share, Login] Kit.framework и libRCTFBSDK.a из «Связать двоичные файлы с библиотеками» (вы получаете доступ к нему в своем проекте, а затем построить фазы), затем добавить 3 FBSDK [Core, Share, Login] Kit.framework снова из Frameworkworks folder + libRCTFBSDK.a

Я почистил папку производных данных

rm -rf ~/Library/Developer/Xcode/DerivedData

Тогда сборка прошла успешно с новой системой сборки.

Надеюсь, что это может помочь другим людям.

Спасибо @ rabbit87 и @kalid за помощь

4
Pierre

Для тех, кто все еще борется с этой проблемой, для меня сработало не только то, что вы должны изменить пути поиска платформы из основного проекта, но вам придется изменить путь из самого RCTFBSDK.xcodeproj, который находится в библиотеках. folder.  enter image description here

0
conchimnon