在 swift iOS 应用程序中使用 FBSDK 的问题
issue using FBSDK in swift iOS application
我正在使用 FBSDK 在 swift 中编写一个 iOS 8 应用程序,以允许用户登录我的应用程序。到目前为止,我已经使用 swift 中的 FBSDK v3.25 使用 Bridging-Header.h 文件成功实现了登录功能,并根据 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'
要注意的最明显的事情是最后一个错误,它说找不到桥接 header 但它与我使用 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/
在发布适当的修复程序之前,这是我的解决方法。
这是一个错误,Facebook 目前 "assigning this to the appropriate team"。
要获取此问题的更新,请遵循此 link:
https://developers.facebook.com/bugs/362995353893156/
然后点击订阅。
有些人使用此 link 上的答案取得了成功(none 对我有用):
Facebook iOS8 SDK build module error for FBSDKCoreKit
致那些尝试使用 FB cocoaPods 编译 swift 项目的人。
*顺便说一句,它工作过一次,只在 xCode 7.1 时停止了
玩完所有东西后,我做了两件事:
在 pod 的末尾添加了以下代码:
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
结束
删除 'new and improved' swift 导入,并将 FB 添加到 obj-C 桥接 header:
A small screenshot of my bridging header
尝试构建设置。将 Allow Non-modular Includes in Framework modules
设置为 YES
。
我正在使用 FBSDK 在 swift 中编写一个 iOS 8 应用程序,以允许用户登录我的应用程序。到目前为止,我已经使用 swift 中的 FBSDK v3.25 使用 Bridging-Header.h 文件成功实现了登录功能,并根据 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'
要注意的最明显的事情是最后一个错误,它说找不到桥接 header 但它与我使用 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/
在发布适当的修复程序之前,这是我的解决方法。
这是一个错误,Facebook 目前 "assigning this to the appropriate team"。
要获取此问题的更新,请遵循此 link:
https://developers.facebook.com/bugs/362995353893156/
然后点击订阅。
有些人使用此 link 上的答案取得了成功(none 对我有用):
Facebook iOS8 SDK build module error for FBSDKCoreKit
致那些尝试使用 FB cocoaPods 编译 swift 项目的人。
*顺便说一句,它工作过一次,只在 xCode 7.1 时停止了
玩完所有东西后,我做了两件事:
在 pod 的末尾添加了以下代码:
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
结束
删除 'new and improved' swift 导入,并将 FB 添加到 obj-C 桥接 header: A small screenshot of my bridging header
尝试构建设置。将 Allow Non-modular Includes in Framework modules
设置为 YES
。