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



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

Unknown type name FBSDK_EXTERN [facebook header file]

对于使用此外部代理的每个 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

或者,如何解析"未知类型名称FBSDK_EXTERN"以允许我的应用生成?

我也有同样的问题。

我相信这可能是由CocoaPods缓存引起的。

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

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

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

干杯

尝试使用 FacebookSDK 4.37.0 编译 FBSDKShareKit 4.38.1 时出现相同的错误。将 FacebookSDK 更新到 4.38.0 修复了此问题。

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

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

最新更新