Я пытаюсь обновить свое приложение 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», чтобы мое приложение было построено?
У меня тоже была такая же проблема.
Я считаю, что это может быть вызвано кешем CocoaPods.
Лучший подход (и сработал для меня) -
/Pods
pod install --repo-update
если это не сработает, попробуйте разрешить ваш модуль до предыдущей версии
pod 'FacebookSDK', '4.37.0'
Ваше здоровье
На самом деле, я вижу, что Facebook только предупреждает меня об обновлении до 4.37, так что, возможно, 4.38 еще не работает. Так что спасибо за вашу помощь. Я отметил, что это решено.
Была такая же ошибка при попытке скомпилировать FBSDKShareKit 4.38.1 с FacebookSDK 4.37.0. Обновление FacebookSDK до 4.38.0 устранило эту проблему.
Я безуспешно попробовал решение Франциско, понизил версию до 4.37.0 и внезапно по-прежнему получил ту же ошибку (хотя эта версия была установлена прямо перед попыткой обновления).
Тогда помогало просто очистка папки сборки Xcode, теперь у меня работает сборка.
Спасибо за вашу помощь. Удаление папок фреймворка не помогло. Однако я смог успешно выполнить сборку, воспользовавшись вашим предложением об использовании предыдущей версии 4.37.0. Но я не могу обновиться до 4.38.0. У вас есть идеи, что я могу сделать для обновления до 4.38.0? Необходимость обновления - вот что вызвало эту проблему. Когда я обновляюсь до 4.38, я получаю эти ошибки «Неизвестное имя типа FBSDK_EXTERN».