找不到react-native-fbsdk FBSDKCoreKit和FBSDKShareKit

时间:2017-01-11 01:39:07

标签: ios facebook react-native filenotfoundexception react-native-fbsdk

我已正确安装了facebook SDK。 (这与其他未找到的错误不同,因为它专门针对react-native-fbsdk而且没有一个解决方案有效。)

我已通过将FBSDKCoreKit标头和FBSDKShareKit标头导入AppDelegate.m来测试我安装了SDK,并且编译并运行时没有任何问题。

但是当我安装react-native-fbsdk并将其链接并编译时,我得到的错误是FBSDKCoreKit / FBSDKCoreKit.h'未找到。与FBSDKShareKit类似。

github页面上的故障排除提供了3个选项来检查何时发生:

  1. 确保Facebook SDK框架安装在〜/ Documents / FacebookSDK中。

  2. 确保FBSDK[Core, Login, Share]Kit.framework显示在构建目标的构建阶段的“链接二进制文件”部分中。

  3. 确保〜/ Documents / FacebookSDK位于构建目标的构建设置的框架搜索路径中。

  4. 我已经检查并确认我有所有这些没有找到解决方案。奇怪的是我可以在AppDelegate.m中导入它们并且它可以正常工作。

3 个答案:

答案 0 :(得分:1)

您需要确保将SDK框架保存在〜/ Documents / FacebookSDK

文件夹下

因为react-native-fbsdk iOS项目在其自己的框架搜索路径定义中硬编码了“〜/ Documents / FacebookSDK”值

答案 1 :(得分:1)

如果你像我一样,不想做Facebook告诉你的事情(或者你不想把随机的东西放在你的Documents文件夹中):

  1. 在我的案例~/Documents/FacebookSDK中,将QuickStart教程中的~/Library/FacebookSDK的每个实例替换为您要存储SDK的位置。这意味着,将下载的SDK解压缩到那里并将该路由添加到项目的Framework Search Paths。 *
  2. 在Xcode的文件树中,展开Libraries组,然后点击RCTFBSDK.xcodeproj。在该项目中,点击Build Settings并将您的路线添加到其Framework Search Paths
  3. 就是这样。 请记住,在更新节点模块时,您已执行此操作,因为此更改不会在您的项目中进行版本控制。

    *注意:如果有其他人在使用该项目,请不要从您的项目的~/Documents/FacebookSDK中删除Framework Search Paths。这与模块安装一致,团队的其他成员可以轻松npm install并使用安装指南作为文档。

答案 2 :(得分:0)

拖动&删除Xcode中的FacebookSDK文件,例如尝试使用FBSDKCoreKit.h