没有这样的模块' FBSDKCoreKit' XCODE 7.4

时间:2015-08-18 17:29:15

标签: ios swift facebook-sdk-4.0 xcode7-beta4

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

  

"没有这样的模块' FBSDKCoreKit'"。

我将Allow Non-modular Includes In Framework ModulesNO更改为YES,但错误仍然存​​在。

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

11 个答案:

答案 0 :(得分:13)

我通过将FacebookSDK目录路径添加到"框架搜索路径"

来解决了这个问题

转到构建设置并搜索"框架搜索"

答案 1 :(得分:8)

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

1)创建一个组,称之为Framework(可选,最佳实践)

2)将所需的SDK从原始SDK路径拖到Framework,在您的情况下FBSDKCoreKitFBSDKLoginKit

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

options for adding these files

Facebook SDK 4.0版的附加步骤:

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

答案 2 :(得分:2)

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

  1. 将鼠标放在项目上(在xcode中)
  2. 并右键点击>添加文件到...
  3. 添加您的框架文件。
  4. 您还需要将“允许非模块化包含在框架模块中”设置从“否”更改为“是”,
  5. 达达!像魅力一样工作!

答案 3 :(得分:1)

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

init pod

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

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

然后pod install

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

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

答案 4 :(得分:0)

这是通常的嫌疑人。 检查您的Frameworks文件夹。检查项目 - >构建阶段 - >将二进制文件与库相关联,并确保包含FBSDKCoreKitFBSDKLoginKit

如果他们在那里,并且错误仍然存​​在,请点按每个框架,并确保在“文件检查器”下选中Target Membership

答案 5 :(得分:0)

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

答案 6 :(得分:0)

我输入import FBSDKLoginKit解决了这个问题 别复制!!写吧。 希望它有助于

答案 7 :(得分:0)

为我修复的是删除pods文件夹并再次运行install命令:

rm -Rf Pods 
pod install

答案 8 :(得分: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调整。

答案 9 :(得分: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)
}

答案 10 :(得分:0)

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