【问题标题】:Cannot find module FBSDKCoreKit Cocoapods找不到模块 FBSDKCoreKit Cocoapods
【发布时间】:2016-06-02 08:18:55
【问题描述】:

我正在尝试使用 CocoaPods,使用 use_frameworks 将 facebook 集成到我的应用程序中!标签,根据 facebook 的instructions here,还包括吊舱螺栓。当我尝试在我的 appdelegate 中使用 import FBSDKCoreKit 时,我得到一个 no such module 'FBSDKCoreKit 错误。我在下面包含了我的 podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.2'
use_frameworks!
pod 'Bolts'
pod 'Alamofire', '~> 3.0'
pod 'FBSDKCoreKit'
pod 'FBSDKShareKit'
pod 'FBSDKLoginKit'

另外,在我的 Pods 文件夹中,Bolts、FBSDKCoreKit 和 FBSDKSharekit 旁边有一个问号,但我之前一直在使用的 alamofire 旁边没有一个问号。在我的 Pods 项目的 Frameworks 文件夹中,FBSDKCoreKit 和 Bolts 都列在那里,但都是红色的。 有任何想法吗?我已经尝试清理我的项目,并重新安装和更新 pod。

【问题讨论】:

  • 你是如何导入 FB 模块的?
  • @CatalinaT,我只是在使用import FBSDKCoreKit

标签: xcode swift facebook cocoapods


【解决方案1】:

似乎 facebook pod 是 Objective-C,它们需要一种特殊的方式在 swift 项目中导入。

这就是我让它工作的方式:

如果您没有,请在您的项目中创建一个桥接头(我创建了一个名为 Bridging-Header.h 的新头文件,并将其设置为项目设置中的桥接头,如屏幕截图所示)

然后在这个文件中导入 facebook 模块。这是我的文件的样子:

#ifndef Bridging_Header_h
#define Bridging_Header_h

@import FBSDKCoreKit;
@import FBSDKLoginKit;

#endif /* Bridging_Header_h */

如果这项锻炼适合您,或者您需要更多帮助,请告诉我。

【讨论】:

  • 那是为了使用 CocoaPods 吗?我认为 use_frameworks 不需要这样做!无论如何,我这样做了,但现在收到消息“在桥接头文件中找不到模块'FBSDKCoreKit',而 FBSDKLoginKit 也有类似的消息。
【解决方案2】:

我解决了这个问题

  1. 移除桥接头。 Facebook SDK 在 4.1 版之后不再需要它们
  2. 将所有 .frameworks 添加到项目构建阶段 -> 将二进制文件与库链接
  3. 选择每个框架并构建它。您可以通过选择运行箭头旁边的项目名称来执行此操作。
  4. 清理项目并重新启动计算机。

【讨论】:

  • 你没有使用 cocoapods 吗?你只是复制 .frameworks 吗?
【解决方案3】:

先添加pod文件

 pod 'FacebookCore'
 pod 'FacebookLogin'
 pod 'FacebookShare'

这是 facebook swift 库,之后在使用 FBSDKCoreKit 之前,只需使用 FacebookCore 然后导入 FBSDKCoreKit

【讨论】:

  • 另外安装这些 pod 后我遇到了同样的错误
【解决方案4】:

对于从Carthage 移动到Cocoapods 的人,请确保从Link Binary With Libraries 选项下的Link Binary With Libraries 中删除FBSDKCoreKit 的迦太基引用。

【讨论】:

    【解决方案5】:

    请尝试以下步骤,

    • 明确提及版本,即

    pod 'FBSDKCoreKit', '~>5.8.0'

    pod 'FBSDKShareKit', '~>5.8.0'

    pod 'FBSDKLoginKit', '~>5.8.0'

    • 使用 sudo pod repo update 更新 pod 存储库
    • 使用 pod update 更新 pod

    【讨论】:

    • 这是一个很好的解决方案,因为 5.8.0 不需要 swift,7.1.1 默认需要它。
    【解决方案6】:

    非常简单的解决方案,如果您使用的是Apple Swift Packages

    1. 转到导航器窗格并选择项目

    2. 然后确保在“Project”而不是“Targets”下选择项目名称

    3. 然后选择包依赖选项卡

    4. 你会在那里找到 Facebook 包,双击它

    5. 将版本更改为 9.0.0 并点击“完成

    6. 重建,应该更正。

    请注意,您可能需要 this url 将 Facebook SDK 添加为 Apple Swift Packages 而不是 Cocoapods。

    【讨论】:

      【解决方案7】:

      你可以试试: pod 'FBSDKCoreKit/Swift'

      【讨论】:

        猜你喜欢
        • 2021-07-12
        • 2023-03-04
        • 2020-04-22
        • 1970-01-01
        • 2016-01-10
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多