«Неизвестное имя типа FBSDK_EXTERN» Ошибка сборки в результате использования CocoaPods и use_frameworks - PullRequest
0 голосов
/ 25 октября 2018

Я пытаюсь обновить приложение для iOS до последней версии FacebookSDK.Facebook рекомендует использовать CocoaPods для обновлений.Я уже использовал другой сторонний SDK, который также использует CocoaPods.Для существующего стороннего SDK требуется использование use_frameworks!в подфайле.Однако, когда я запускаю 'pod update' и затем собираю свое приложение, я получаю следующие ошибки:

Unknown type name FBSDK_EXTERN [facebook header file]

для каждого заголовочного файла Facebook, который использует этот extern.Как я могу устранить эту очевидную несовместимость между требованиями podFile этих двух разных SDK?

Мой podFile выглядит следующим образом:

 platform :ios, '8.0'

 def shared_pod
   use_frameworks!

   pod 'apptentive-ios', '~> 4'
   pod 'FacebookSDK'

 end

 target 'myApp' do
   shared_pod
 end

 target 'myOtherApp' do
   shared_pod
 end

В качестве альтернативы, как я могу разрешить 'Неизвестное имя типа FBSDK_EXTERNразрешить сборку моего приложения?

Ответы [ 3 ]

0 голосов
/ 28 ноября 2018

Произошла та же ошибка при попытке скомпилировать FBSDKShareKit 4.38.1 с FacebookSDK 4.37.0.Обновление FacebookSDK до 4.38.0 решило эту проблему.

0 голосов
/ 19 декабря 2018

Я безуспешно испробовал решение Франциско, понизил его до 4.37.0 и внезапно все еще получил ту же ошибку (даже несмотря на то, что у меня была установлена ​​эта версия прямо перед попыткой обновления).

Что помогло, так это просто очистка папки сборки Xcode , сборка теперь работает для меня.

0 голосов
/ 26 октября 2018

У меня тоже была такая же проблема.

Я полагаю, что это может быть вызвано кешем CocoaPods.

Лучший подход (и работал для меня) -

  • перейдите в папку /Pods
  • удалите проблемную папку фреймворка (может иметь имя FBSDKLoginKit)
  • снова запустите pod install --repo-update

, если это не такработа попробуйте разрешить ваш модуль до предыдущей версии pod 'FacebookSDK', '4.37.0'

Cheers

...