Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Facebook SDK 4.0.1 Swift错误xcode 6.2 iOS 8.2_Xcode_Facebook_Swift_Sdk_Xcode6 - Fatal编程技术网

Facebook SDK 4.0.1 Swift错误xcode 6.2 iOS 8.2

Facebook SDK 4.0.1 Swift错误xcode 6.2 iOS 8.2,xcode,facebook,swift,sdk,xcode6,Xcode,Facebook,Swift,Sdk,Xcode6,此处的change-log()说明swift不需要objective-c桥接头 但是,当我在AppDelegate.swift中导入FBSDKCoreKit时,会出现以下错误: FBSDKAppLinkResolver.h /Users/[username]/Documents/FacebookSDK/FBSDKCoreKit.framework/Headers/fbsdkapplingkresolver.h:21:9: 框架模块内包含非模块化标头 “FBSDKCoreKit.fbsdkppli

此处的change-log()说明swift不需要objective-c桥接头

但是,当我在AppDelegate.swift中导入FBSDKCoreKit时,会出现以下错误:

FBSDKAppLinkResolver.h

/Users/[username]/Documents/FacebookSDK/FBSDKCoreKit.framework/Headers/fbsdkapplingkresolver.h:21:9: 框架模块内包含非模块化标头 “FBSDKCoreKit.fbsdkpplinkresolver”

AppDelegate.swift

/Users/ashrafkholeif/Projects/xcode/TabbedApplicationTemplate/TabbedApplicationTemplate/TabbedApplicationTemplate/AppDelegate.swift:10:8: 无法生成目标C模块“FBSDKCoreKit”


编辑:我甚至将框架模块内的allow non-modular header设置为YES

创建一个新的头文件,并导入您正在使用的任何objective-c代码,如下所示

#ifndef RJv1_RJBridge_h
#define RJv1_RJBridge_h
#import "NSMutableString+Obfuscated.h"
#import <FBSDKCoreKit/FBSDKCoreKit.h>
#import <FBSDKLoginKit/FBSDKLoginKit.h>
#endif
\ifndef RJv1\u RJBridge\h
#定义RJv1_RJBridge_h
#导入“NSMutableString+Obfuscated.h”
#进口
#进口
#恩迪夫
然后转到生成设置,查找
安装Objective-C Compability Header
,并确保设置为
Yes
,然后在字段
Objective-C桥接Header
中添加头文件的相对路径


希望它能起作用

这是一个bug,Facebook目前正在“将其分配给适当的团队”

要获取此问题的更新,请访问以下链接:

点击订阅

希望不会花太长时间来修复它们

这里还有一个最近发布在SO上的相关问题:

一些人通过使用此链接上的答案获得了成功(没有一个对我有效):


我遇到了完全相同的问题,为Objective-C项目建议的解决方案在我的Swift项目中直接起作用:

在Facebook SDK文件夹的Bolts.framework/Modules/modulemap下编写一个新文件,内容如下:

framework module Bolts {
umbrella header "Bolts.h"

export *
module * { export * }


explicit module BFAppLinkResolver {
    header "BFAppLinkResolver.h"
    link "BFAppLinkResolver"
    export *
}}
这在没有桥接头(OP提到的SDK版本4.0.1中不再需要)的情况下工作,并且不更改构建设置


编辑:从Facebook SDK的4.1版开始,这一问题已经得到修复,该库无需进行任何更改即可正常工作。

对我有效的修复:

rm -r ~/Documents/FacebookSDK/FBSDKCoreKit.framework/Modules/
对其他框架重复


来源:

这太棒了!到目前为止,最好的解决方案是:)删除模块似乎很笨拙,而且弄乱叮当声选项也不起作用。