【问题标题】:issue using FBSDK in swift iOS application在 Swift iOS 应用程序中使用 FBSDK 的问题
【发布时间】:2015-06-10 03:08:00
【问题描述】:

我正在使用 FBSDK 快速编写 iOS 8 应用程序,以允许用户登录到我的应用程序。到目前为止,我已经成功地使用 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'

要注意的最明显的事情是最后一个错误,它说找不到桥接头,但它与我使用 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/

这是我的解决方法,直到发布适当的修复程序。

【问题讨论】:

    标签: ios swift facebook-ios-sdk


    【解决方案1】:

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

    要获取此问题的更新,请点击此链接:

    https://developers.facebook.com/bugs/362995353893156/

    然后点击订阅。

    有些人使用此链接上的答案找到了成功(没有一个对我有用):

    Facebook iOS8 SDK build module error for FBSDKCoreKit

    【讨论】:

    • 为我解决此问题的方法是将“-ObjC”标志添加到我项目的“其他链接器标志”构建设置中。
    • 很高兴我不是唯一遇到此问题的人!听到它正在被处理,这让我松了一口气
    • 只是一个快速更新,我能够使用 abjurato 的代码从他关于这个问题的帖子中编译它:stackoverflow.com/questions/29435377/…
    【解决方案2】:

    对于那些尝试使用 FB cocoaPods 编译 swift 项目的人。

    *顺便说一句,它工作过一次,只是在 xCode 7.1 中它停止了

    只有在玩了所有东西之后,我才做了两件事:

    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
      

      结束

    2. 删除“新的和改进的”快速导入,并将 FB 添加到 obj-C 桥接头中: A small screenshot of my bridging header

    【讨论】:

      【解决方案3】:

      尝试使用构建设置。将Allow Non-modular Includes in Framework modules 设置为YES

      【讨论】:

      • 啊我相信FaceBook已经解决了这个问题。我应该更新问题!
      • 你的答案在类似情况下仍然很方便!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-12-28
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多