【问题标题】:'Unknown type name FBSDK_EXTERN' Build Error resulting from use of CocoaPods and use_frameworks'未知类型名称 FBSDK_EXTERN' 使用 CocoaPods 和 use_frameworks 导致的构建错误
【发布时间】:2019-03-30 13:58:35
【问题描述】:

我正在尝试使用最新的 FacebookSDK 升级我的 iOS 应用程序。 Facebook 建议使用 CocoaPods 进行升级。我已经在使用另一个也使用 CocoaPods 的 3rd 方 SDK。对于现有的 3rd 方 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”以允许构建我的应用程序?

【问题讨论】:

    标签: ios xcode facebook cocoapods facebook-sdk-4.0


    【解决方案1】:

    我也遇到了同样的问题。

    我相信这可能是 CocoaPods 缓存造成的。

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

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

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

    干杯

    【讨论】:

    • 感谢您的帮助。删除框架文件夹没有帮助。但是,通过使用您使用先前版本 4.37.0 的建议,我能够成功构建。但我无法升级到 4.38.0。您对我可以做些什么来升级到 4.38.0 有什么想法吗?需要更新是导致此问题的原因。当我升级到 4.38 时,我收到这些“未知类型名称 FBSDK_EXTERN”错误。
    • 实际上,我看到 Facebook 只是警告我升级到 4.37,所以可能 4.38 还没有工作。所以谢谢你的帮助。我已将其标记为已解决。
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2021-10-09
        • 1970-01-01
        • 2018-02-05
        • 2012-02-20
        • 2016-06-14
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多