找不到模块 FBSDKCoreKit Cocoapods

Cannot find module FBSDKCoreKit Cocoapods

我正在尝试使用 CocoaPods 将 facebook 集成到我的应用程序中,使用 use_frameworks!标签,根据 facebook 的 instructions here,还包括吊舱螺栓。当我尝试在我的 appdelegate 中使用 import FBSDKCoreKit 时,我得到一个没有这样的模块 'FBSDKCoreKit 错误。我在下面包含了我的播客文件:

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 列在那里,但都是红色的。 有任何想法吗?我已经尝试清理我的项目,并重新安装和更新 pods.

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

我是这样工作的:

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

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

#ifndef Bridging_Header_h
#define Bridging_Header_h

@import FBSDKCoreKit;
@import FBSDKLoginKit;

#endif /* Bridging_Header_h */

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

我通过

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

首先在pod文件中添加

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

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

对于从 Carthage 迁移到 Cocoapods 的人,请确保从 Build Phases 选项下的 Link Binary With Libraries 中删除 FBSDKCoreKit 的 Carthage 引用。

请尝试以下步骤,

  • 明确提及版本,即

pod 'FBSDKCoreKit', '~>5.8.0'

pod 'FBSDKShareKit', '~>5.8.0'

pod 'FBSDKLoginKit', '~>5.8.0'

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

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

  1. 转到导航器窗格和select项目

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

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

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

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

  6. 重建,应该更正了

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

你可以试试: 吊舱 'FBSDKCoreKit/Swift'