'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 的构建文件夹,构建现在对我有用。
我正在尝试使用最新的 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 的构建文件夹,构建现在对我有用。