【问题标题】:Xcode always says ‘FBSDKShareKit/FBSDKShareKit’.h file not foundXcode 总是说‘FBSDKShareKit/FBSDKShareKit’.h 文件未找到
【发布时间】:2016-02-24 00:15:56
【问题描述】:

无论我做什么(我可能做错了)当我尝试构建我的统一 IOS 应用程序进行测试时,Xcode 总是说“FBSDKShareKit/FBSDKShareKit”.h 文件未找到。

我已在 Xcode 项目的 iOS 快速入门中添加了 Facebook SDK。 从 Facebook SDK 文件夹中,将文件夹 FBSDKCoreKit.Framework、FBSDKLoginKit.Framework、FBSDKShareKit.Framework 拖到您的 Xcode Projects Framework 文件夹中。然后按照说明配置 info.plist,当然还提供了包标识符。它给出了同样的问题。 老实说,我在这个问题上花了超过 6 周的时间。我处于精神和身体崩溃的边缘,即将被解雇。请给一些建议。我已经尝试了同一页面中的所有其他答案,但不起作用。请帮忙!!

【问题讨论】:

    标签: ios xcode unity3d


    【解决方案1】:

    我在使用 XCode 10 时遇到了这个问题!!! 以这种方式排序:

    • 选择Libraries > RCTFBSDK.xcodeproj
    • 选择Build Settings > Framework Search Paths
    • ~/Documents/FacebookSDK 替换为$(HOME)/Documents/FacebookSDK(带括号!)

    信不信由你,现在它起作用了!

    【讨论】:

    • 你帮助解决了一个大头痛,祝福你
    • 你摇滚。谢谢
    • 你是真正的mvp!比X!
    【解决方案2】:

    如果您因为尝试使用 facebook/react-native-fbsdk 而来到这里,那么您只需将以下行添加到您的 Podfile 中:

    pod 'FBSDKShareKit'
    

    然后

    pod install

    构建并运行!

    【讨论】:

    • podfile 在哪里?你能解释一下吗?
    • @AkilaDevinda 它是 CocoaPods 依赖管理器的一部分。最初它并不存在,但如果你需要添加一些依赖项,比如谷歌地图,你可以使用它。它存在于 iOS 项目的根目录中。它的内容通常被描述为库自述文件的一部分(即您尝试添加到项目中的库)。有关更多信息,请参阅:guides.cocoapods.org/using/getting-started.html 但是,如果您尚未在项目中使用 Podfile,我猜您的问题无法解决。
    • 就我而言,这解决了。这也是逻辑上最容易理解的解决方案
    • cocoapods fbsdk page 也很有帮助
    【解决方案3】:

    我遇到了同样的问题并解决了问题。 我的解决方案: 1.按照https://developers.facebook.com/docs/react-native/getting-started-ios的步骤 2. 检查xcode proj -> Library,找到并打开文件RCFTBSDK.xcodeproj 然后在build setting->Framework search path中更新fb sdk路径。

    它有效。 我猜有时库中的 RCTFBSDK.xcodeproj 无法从主 xcodeproj 更新框架搜索路径,因此我们需要手动完成。 希望我的解决方案能帮到你,谢谢。

    【讨论】:

    • 谢谢,我根本没想到那里看。我的隧道视野让我试图弄清楚我的项目本身发生了什么,而不是 RCTFBSDK
    【解决方案4】:

    Drekka 我终于退出了游戏,直到我阅读了这个答案,它给了我一个尝试不同事物的想法。 这最终对我有用: 框架搜索路径设置错误,如果我不沉迷于此,我将永远不会注意到它的微小细节: 在目标 - 构建设置 - 搜索路径 - 框架搜索路径更改为:

    $(继承) $(PROJECT_DIR)/Frameworks\Plugins/iOS/Facebook (看第一个斜线方向不对)

    $(SROOT) $(inherited) $(PROJECT_DIR)/Frameworks/Plugins/iOS/Facebook

    终于可以睡觉了!谢谢drekka!

    【讨论】:

    • 在框架搜索路径中对我有用的东西:~/Documents/FacebookSDK ...简直不敢相信
    【解决方案5】:

    如果您认为自己做的一切都正确,但仍然无法正常工作,请确保 FB [LoginKit、ShareKit 和 CoreKit] 在您的“复制捆绑资源”中。

    这花了我几个小时才弄清楚,希望它可以帮助别人!

    【讨论】:

      【解决方案6】:

      很难说出您的问题是什么,而且我从未使用过这些框架。但听起来您可能已经将它们添加到项目中,以便在编译期间链接它们,但它们并没有被添加到最终的应用程序包中。

      这可能有帮助,也可能没有帮助,但根据您所说的,这就是我会考虑的。检查您的“构建阶段”。您应该在“使用库链接二进制文件”阶段看到框架。然后,您需要寻找一个“复制文件阶段”的阶段(如果不存在,则添加一个)。单击列表顶部的“+”后选择“新建复制文件阶段”添加一个。

      在“复制文件阶段”中,将“目标”设置为“框架”,然后将 Facebook 框架添加到要复制的文件列表中。

      如果上述方法无效,另一个可能也有效的选项是检查构建设置中的“运行路径搜索路径”。如果未设置,请尝试将其设置为 '@executable_path/Frameworks @loader_path/Frameworks'。

      希望这会有所帮助。

      【讨论】:

        【解决方案7】:

        在 macOS 上,就我而言,我按照所有说明进行操作,但仍然出现错误。我再次检查,文件在“那里”:

        但实际上它们是在我的 iCloud 帐户上(请注意带有小云图标的那些)。所以我将这些文件下载到我的磁盘上,应用程序成功编译!

        【讨论】:

          【解决方案8】:

          如果你还没有先安装 cocoapods:

          sudo gem install cocoapods
          

          然后转到您的 Xcode 项目目录并执行

          pod install
          

          它应该创建一个 .xcworkspace 打开它并构建您的项目。你不会有问题的。

          .xcworkspace 必须由 cocoa pod 而非 Unity 创建。有时统一会创建它,所以它缺少 Pod,这就是 Xcode 找不到某些库的原因。

          【讨论】:

            【解决方案9】:

            以上所有答案最终都对我不起作用。最终起作用的是将 Facebook SDK 文件夹名称更改为 FacebookSDK 并将其移动到我的 Macbook 上的 Documents 中。请记住相应地更改构建设置下的框架搜索路径。

            【讨论】:

              【解决方案10】:

              我在通过 Unity3D 为 iOS 构建游戏时遇到此错误。

              基本上较新版本的 facebook sdk 不包含框架,希望您使用 cocoapods 下载它们。

              因此,在 windows 上通过 unity 编译后,我复制了生成的文件夹并将其粘贴到我的 macbook 中。

              然后您需要从该文件夹调用pod install 命令(通过打开终端并导航到您的xcode 所在的文件夹,然后执行pod install)。 Cocoapods 会下载你需要的,然后你就可以编译了。

              pod install 实际完成可能需要 20 分钟。对我来说,它被冻结了,但您可以打开资源监视器并在“网络”选项卡下看到 Cocoapods 确实正在从互联网下载东西。所以请给它一些时间。

              然后,在终端中查看进一步的说明(基本上它会生成一个新文件,从现在开始您必须通过该文件打开您的项目)。

              【讨论】:

                【解决方案11】:

                7.16.1 以上版本的 FB Sdk 有这个问题。实际上它在框架文件夹中没有文件。

                当您使用 FBSDK v7.16.1 构建它时,此错误已消除,但 Appstore 由于 api 使用(UIWebView)折旧而被拒绝该应用程序。

                我使用 FBSDK v7.19.2 解决了这个问题。

                1) 当您为 xcode 构建项目时,它显示提及错误,未找到 shareKit。我通过将 facebookSDK 文件夹从我之前构建的框架文件夹(使用 fbsdk v7.16.1)复制到当前 xcode 文件夹(框架/FacebookSDK ....)的相同位置来解决它

                2) 然后,打开您的 xcode 项目,从以下位置添加文件:Frameworks/FacebookSDK/Plugins/IOS/(sharekit、corekit、loginkit)到 Xcode 中的 Frameworks 中。

                3) 在 Xcode 的构建设置中将“$(PROJECT_DIR)/Frameworks/FacebookSDK/Plugins/iOS”添加到框架搜索路径中。

                4) 在终端中打开项目:输入 "grep -r "UIWebView" 。" ,如果这显示任何与 UIWebView 匹配的内容,请通过打开文件将其删除。

                5) 如果在 FBSDKCoreKit 的二进制文件中显示匹配。在 MAC 的 TextEdit 中打开文件,找到所有“UIWebView”并将其替换为“WKWebView”

                6) 保存并再次将其添加到 Xcode 的框架中。构建并推送到应用商店。

                【讨论】:

                  猜你喜欢
                  • 2021-06-15
                  • 2017-02-10
                  • 2020-04-22
                  • 1970-01-01
                  • 2018-08-08
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  • 1970-01-01
                  相关资源
                  最近更新 更多