找不到模块 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 */
如果这项锻炼适合您或您需要更多帮助,请告诉我。
我通过
解决了这个问题
- 删除桥接头。 Facebook SDK 在版本 4.1
之后不再需要它们
- 将所有 .frameworks 添加到项目构建阶段 -> Link 带库的二进制文件
- 选择每个框架并构建它。您可以通过选择 运行 箭头旁边的项目名称来执行此操作。
- 正在清理项目并重新启动我的计算机。
首先在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
:
转到导航器窗格和select项目
然后确保在“Project”下选择项目名称,而不是在“Targets”下选择项目名称
然后 select 包依赖项 选项卡
你会在那里找到Facebook包,双击它
将版本更改为 9.0.0 并单击“完成”
重建,应该更正了
请注意,您可能需要 this url 将 Facebook SDK 添加为 Apple Swift Packages
而不是 Cocoapods。
你可以试试:
吊舱 'FBSDKCoreKit/Swift'
我正在尝试使用 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 */
如果这项锻炼适合您或您需要更多帮助,请告诉我。
我通过
解决了这个问题- 删除桥接头。 Facebook SDK 在版本 4.1 之后不再需要它们
- 将所有 .frameworks 添加到项目构建阶段 -> Link 带库的二进制文件
- 选择每个框架并构建它。您可以通过选择 运行 箭头旁边的项目名称来执行此操作。
- 正在清理项目并重新启动我的计算机。
首先在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
:
转到导航器窗格和select项目
然后确保在“Project”下选择项目名称,而不是在“Targets”下选择项目名称
然后 select 包依赖项 选项卡
你会在那里找到Facebook包,双击它
将版本更改为 9.0.0 并单击“完成”
重建,应该更正了
请注意,您可能需要 this url 将 Facebook SDK 添加为 Apple Swift Packages
而不是 Cocoapods。
你可以试试: 吊舱 'FBSDKCoreKit/Swift'