'Неизвестное имя типа FBSDK_EXTERN' Ошибка сборки в результате использования CocoaPods и use_frameworks

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

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», чтобы мое приложение было построено?

Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
0
1 597
3
Перейти к ответу Данный вопрос помечен как решенный

Ответы 3

Ответ принят как подходящий

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

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

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

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

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

Ваше здоровье

Спасибо за вашу помощь. Удаление папок фреймворка не помогло. Однако я смог успешно выполнить сборку, воспользовавшись вашим предложением об использовании предыдущей версии 4.37.0. Но я не могу обновиться до 4.38.0. У вас есть идеи, что я могу сделать для обновления до 4.38.0? Необходимость обновления - вот что вызвало эту проблему. Когда я обновляюсь до 4.38, я получаю эти ошибки «Неизвестное имя типа FBSDK_EXTERN».

JeffB6688 26.10.2018 18:43

На самом деле, я вижу, что Facebook только предупреждает меня об обновлении до 4.37, так что, возможно, 4.38 еще не работает. Так что спасибо за вашу помощь. Я отметил, что это решено.

JeffB6688 26.10.2018 19:02

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

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

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

Другие вопросы по теме