9

我正在尝试使用FBSDKCoreKit和添加 Facebook 登录功能FBSDKLogin。当我尝试将这两个框架导入我的AppDelegate文件时,它显示错误是

“没有这样的模块‘FBSDKCoreKit’”。

Allow Non-modular Includes In Framework Modules从更改NOYES,但错误仍然存​​在。

我需要帮助来提出解决错误的解决方案。

4

12 回答 12

13

我通过将FacebookSDK目录路径添加到“框架搜索路径”解决了这个问题

转到构建设置并搜索“框架搜索”

于 2015-08-24T18:00:43.117 回答
8

No such module 'FrameworkName'通过以下步骤解决了问题:

1)创建一个组,调用它Framework(可选,最佳实践)

Framework2)在您的情况下FBSDKCoreKit,将所需的 SDK 从原始 SDK 路径拖到FBSDKLoginKit

3)当对话框弹出“选择添加这些文件的选项:”时,选择以下:

添加这些文件的选项

Facebook SDK 4.0 版的附加步骤:

4)在项目编辑器中选择目标并单击Build Settings,将Framework Search Paths更改为:~/Documents/FacebookSDKDirectoryName

于 2016-02-21T13:57:17.817 回答
2

我想建议一种最简单的方法。

  1. 将鼠标放在您的项目上(在 xcode 中)
  2. 并右键单击>将文件添加到...
  3. 添加您的框架文件。
  4. 您还需要将 Allow Non-modular Includes In Framework Modules 设置从 NO 更改为 YES,

达达!奇迹般有效!

于 2016-03-31T05:22:52.377 回答
1

请尝试使用 .xcworkspce 打开项目,而不是使用 .xcodeproj 作为工作区加载所有依赖项。

于 2018-06-17T17:40:49.877 回答
1

如果您使用的是 pod,那么只需删除所有 pod 文件和相关文件夹并从第一步开始

init pod.

然后打开该 pod 文件并添加以下框架   

pod 'FBSDKCoreKit'
pod 'FBSDKShareKit'
pod 'FBSDKLoginKit'

然后pod install

并将其导入 swift 文件并享受:)

如果您直接将文件夹添加到项目中,请确保标记了“如果需要则复制”

于 2016-11-14T06:34:05.900 回答
0

看起来您还必须添加到 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 调整。

于 2018-02-12T06:06:22.573 回答
0

为我解决的问题是删除 pods 文件夹并再次运行安装命令:

rm -Rf Pods 
pod install
于 2017-07-25T17:49:18.797 回答
0

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.

于 2015-08-18T17:35:40.360 回答
0

在 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)
}
于 2018-02-12T06:12:12.037 回答
0

我已经通过将框架复制到应用程序的文件夹来解决这个问题。您的应用程序不知道框架的路径。

于 2016-02-11T18:59:35.967 回答
0

这为我解决了这个问题:确保在运行 Pod 安装后清理并构建您的项目。

从菜单:产品/清洁然后构建。

于 2018-05-13T02:02:53.493 回答
0

我已经通过键入import FBSDKLoginKit Dont copy 解决了这个问题!写吧。希望能帮助到你

于 2017-02-06T12:36:42.060 回答