我使用FBSDK在swift中编写iOS 8应用程序,以允许用户登录我的应用程序。到目前为止,我已经使用Briftging-Header.h文件在swift中使用FBSDK v3.25成功实现了登录功能,并根据FB开发人员网站上给出的说明更新了info.plist。现在我想创建一个应用程序(或更新我当前的应用程序)到FBSDK v4.01但是当我按照将它集成到我的应用程序的相同过程时,我得到以下错误:
-> FBSDKAppLinkResolver.h
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FacebookSDK/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h:21:9: Include of non-modular header inside framework module 'FBSDKCoreKit.FBSDKAppLinkResolver'
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FacebookSDK/FBSDKCoreKit.framework/Headers/FBSDKAppLinkResolver.h:21:9: Include of non-modular header inside framework module 'FBSDKCoreKit.FBSDKAppLinkResolver'
-> Bridging-Header.h
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FBLoginUsingSDK4/Bridging-Header.h:12:9: Could not build module 'FBSDKCoreKit'
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FBLoginUsingSDK4/Bridging-Header.h:13:9: Could not build module 'FBSDKLoginKit'
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FBLoginUsingSDK4/Bridging-Header.h:12:9: Could not build module 'FBSDKCoreKit'
->FBSDKLoginButton.h
/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FacebookSDK/FBSDKLoginKit.framework/Headers/FBSDKLoginButton.h:21:9: Could not build module 'FBSDKCoreKit'
Failed to import bridging header '/Users/danieloram/Desktop/IOS/SWIFT/FBLoginUsingSDK4/FBLoginUsingSDK4/Bridging-Header.h'
最值得注意的是最后一个错误,它表示无法找到桥接头,但它与我使用FBSDK 3.25时的位置相同?
此外,FaceBook开发人员网站上的所有文档和教程都是obj-c所以找到解决方案一直是一个非常令人沮丧的过程。谁能帮助诊断我做错了什么?任何帮助表示赞赏!
更新
暂时我已经设法按照Facebook开发人员门户网站上的说明编译我的应用程序,并通过在终端中运行以下内容从FBSDK中删除所有模块
rm -r ~/Documents/FacebookSDK/FBSDKCoreKit.framework/Modules/
rm -r ~/Documents/FacebookSDK/FBSDKLoginKit.framework/Modules/
rm -r ~/Documents/FacebookSDK/FBSDKShareKit.framework/Modules/
这是我的解决方法,直到发布适当的修复程序。
答案 0 :(得分:3)
这是一个错误,Facebook目前正在“将此分配给相应的团队”。
要获取此问题的更新,请点击以下链接:
https://developers.facebook.com/bugs/362995353893156/
并点击订阅。
有些人使用此链接上的答案找到了成功(没有一个对我有用):
答案 1 :(得分:0)
对于那些试图用FB cocoaPods编译swift项目的人。
* BTW,它只运行一次,只在xCode 7.1中停止了
只有玩完一切后,我做了两件事:
在广告连结的末尾添加了以下代码:
post_install do |installer|
installer.pods_project.build_configuration_list.build_configurations.each do |configuration|
configuration.build_settings['CLANG_ALLOW_NON_MODULAR_INCLUDES_IN_FRAMEWORK_MODULES'] = 'YES'
end
端
删除'新增和改进的'swift导入,并将FB添加到obj-C桥接标头中: A small screenshot of my bridging header
答案 2 :(得分:0)
尝试使用构建设置。将Allow Non-modular Includes in Framework modules
设为YES
。