'Unknown type name FBSDK_EXTERN' 使用 CocoaPods 和 use_frameworks 导致的构建错误

'Unknown type name FBSDK_EXTERN' Build Error resulting from use of CocoaPods and use_frameworks

我正在尝试使用最新的 FacebookSDK 升级我的 iOS 应用程序。 Facebook 推荐使用 CocoaPods 进行升级。我已经在使用另一个也使用 CocoaPods 的第三方 SDK。对于现有的3rd party SDK,需要使用use_frameworks!在播客文件中。但是,当我 运行 'pod update' 然后构建我的应用程序时,出现以下错误:

Unknown type name FBSDK_EXTERN [facebook header file]

对于每个使用此 extern 的 Facebook 头文件。如何解决这两个不同 SDK 的 podFile 要求之间明显的不兼容问题?

我的 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

或者,我如何解决 'Unknown type name FBSDK_EXTERN' 以允许构建我的应用程序?

我也遇到了同样的问题

我认为这可能是由 CocoaPods 缓存引起的。

最好的方法(对我有用)是

  • 转到 /Pods 文件夹
  • 删除有问题的框架文件夹(可能是 名为 FBSDKLoginKit)
  • 运行 pod install --repo-update 再一次

如果这不起作用,请尝试将您的广告连播解析为以前的版本 pod 'FacebookSDK', '4.37.0'

干杯

尝试使用 FacebookSDK 4.37.0 编译 FBSDKShareKit 4.38.1 时出现相同的错误。将 FacebookSDK 更新到 4.38.0 解决了这个问题。

我尝试了 Francisco 的解决方案但没有成功,降级到 4.37.0 并且突然仍然出现相同的错误(即使我在尝试更新之前安装了这个版本)。

然后帮助只是 清理 Xcode 的构建文件夹,构建现在对我有用。