我正在尝试使用FBSDKCoreKit
和添加 Facebook 登录功能FBSDKLogin
。当我尝试将这两个框架导入我的AppDelegate
文件时,它显示错误是
“没有这样的模块‘FBSDKCoreKit’”。
我Allow Non-modular Includes In Framework Modules
从更改NO
为YES
,但错误仍然存在。
我需要帮助来提出解决错误的解决方案。
我正在尝试使用FBSDKCoreKit
和添加 Facebook 登录功能FBSDKLogin
。当我尝试将这两个框架导入我的AppDelegate
文件时,它显示错误是
“没有这样的模块‘FBSDKCoreKit’”。
我Allow Non-modular Includes In Framework Modules
从更改NO
为YES
,但错误仍然存在。
我需要帮助来提出解决错误的解决方案。
我通过将FacebookSDK
目录路径添加到“框架搜索路径”解决了这个问题
转到构建设置并搜索“框架搜索”
我No such module 'FrameworkName'
通过以下步骤解决了问题:
1)创建一个组,调用它Framework
(可选,最佳实践)
Framework
2)在您的情况下FBSDKCoreKit
,将所需的 SDK 从原始 SDK 路径拖到FBSDKLoginKit
3)当对话框弹出“选择添加这些文件的选项:”时,选择以下:
Facebook SDK 4.0 版的附加步骤:
4)在项目编辑器中选择目标并单击Build Settings,将Framework Search Paths更改为:~/Documents/FacebookSDKDirectoryName
我想建议一种最简单的方法。
达达!奇迹般有效!
请尝试使用 .xcworkspce 打开项目,而不是使用 .xcodeproj 作为工作区加载所有依赖项。
如果您使用的是 pod,那么只需删除所有 pod 文件和相关文件夹并从第一步开始
init pod
.
然后打开该 pod 文件并添加以下框架
pod 'FBSDKCoreKit'
pod 'FBSDKShareKit'
pod 'FBSDKLoginKit'
然后pod install
并将其导入 swift 文件并享受:)
如果您直接将文件夹添加到项目中,请确保标记了“如果需要则复制”
看起来您还必须添加到 Bridging-Header.h 文件:
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
#import <FBSDKShareKit/FBSDKShareKit.h>
仅当您使用 Objective-C 版本的框架文件时才需要使用 Bridging-Header.h。然而,Facebook 网站上的 Swift 教程确实遗漏了使用 Swift 构建的框架文件的关键步骤,特别是在那里导入 FBSDKCoreKit 后的 AppDelegate 调整。
为我解决的问题是删除 pods 文件夹并再次运行安装命令:
rm -Rf Pods
pod install
It's the usual suspects.
Check your Frameworks folder. Check Project -> Build Phases -> Link Binary with Libraries, and make sure FBSDKCoreKit
and FBSDKLoginKit
are included.
If they're there, and the error still exists, tap on each framework, and make sure Target Membership
is checked under File inspector.
在 AppDelegate 导入中:
import FacebookCore
import FacebookLogin
并添加:
func application(_ application: UIApplication, didFinishLaunchingWithOptions
launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
SDKApplicationDelegate.shared.application(application,
didFinishLaunchingWithOptions: launchOptions)
return true
}
func application(_ app: UIApplication, open url: URL, options:
[UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {
return SDKApplicationDelegate.shared.application(app, open: url,
options: options)
}
我已经通过将框架复制到应用程序的文件夹来解决这个问题。您的应用程序不知道框架的路径。
这为我解决了这个问题:确保在运行 Pod 安装后清理并构建您的项目。
从菜单:产品/清洁然后构建。
我已经通过键入import FBSDKLoginKit
Dont copy 解决了这个问题!写吧。希望能帮助到你