【问题标题】:FBSDKCoreKit/FBSDKCoreKit.h file not found error react-native iosFBSDKCoreKit/FBSDKCoreKit.h 文件未找到错误 react-native ios
【发布时间】:2017-06-19 03:06:41
【问题描述】:

尝试安装 Facebook SDK 以响应原生 IOS。

我有 FBSDKCoreKit/FBSDKCoreKit.h 文件未找到错误并花了几个小时试图用不同的解决方案解决它,但不明白出了什么问题((

有什么想法吗?

反应原生 0.40 反应原生 fsdk 0.5.0 脸书 SDK:4.19.0

【问题讨论】:

标签: react-native facebook-sdk-4.0 react-native-ios


【解决方案1】:

编辑:我建议使用 CocoaPods,这样您就不需要下载/更新 手动的 sdk。


如果你手动下载了 sdk,试试这个:

  1. 打开您的~/Documents/FacebookSDK 文件夹;

  2. 检查文件名右侧是否有这些云图标:

如果是这样,macOS 会从您的计算机中删除您的文件并将它们上传到 iCloud! (感谢苹果)

  1. 点击所有云图标,将下载文件。

就是这样!


如果这不是你的情况,试试这些:

【讨论】:

  • 我正在尝试使用 CI 构建工具,但是它结合了 npm 模块和 github 存储库(我所有其他框架都位于其中)中的内容。是否可以将这些 sdk 移动到项目结构中并更改框架搜索路径等?这是我认为允许构建工具实际构建它的唯一方法,因为它无权访问我的文档文件夹。谢谢
【解决方案2】:
  1. 检查您是否在您的 RN 项目中使用了react-native link
  2. 手动签入Linked Frameworks And Libraries,确认您有libRCTFBSDK.a。如果没有,请点击底部的 + 按钮并链接它。
  3. 当从 react-native upgrade 在更新 RN 包本身之后 使用 npm install react-native@latest --save
  4. 确保将 sdk 放入 ~/Documents/FacebookSDK。我认为这很重要。

如果遇到一些错误,有时最好清除所有错误,然后重新开始全新安装。

试试:

rm -rf ./node_modules
watchman watch-dell-all
npm cache clean
npm install
react-native run-ios

【讨论】:

  • 不敢相信将它放入 ~/Documents/FacebookSDK 为我解决了问题。我以前在其他目录中有过。
  • 是的,解决了。难以置信
  • 我们如何将 sdk 与 SAAS 构建工具(例如 travis、buddybuild 等)一起使用?我们是否必须在我们的应用程序中实现 cocoapods 才能做到这一点?我们目前正在使用迦太基
  • @Tony。我知道根据 FbSDK 规范,你应该把它放到 ~/Documents/FacebookSDK 中。但这很不方便,因为我不能将它放在存储库中。每个开发人员都应该在 ~/Documents/FacebookSDK 上拥有它。所以,我把它放在 /MyProject/FacebookSDK 上,我仍然有这个问题。有什么想法吗?
  • 对于 CI 或 CD,请在此处查看我的答案 stackoverflow.com/questions/44236737/…
【解决方案3】:

也有这个问题,但我的问题是 RCTFBSDK 专门在 ~/Documents/FacebookSDK 路径中查找 non-recursive 设置。要检查您是否有同样的问题,请打开您的库文件夹和RCTFBSDK.xcodeproj 文件夹。检查框架是否为红色

如果是,请单击它们,然后在右侧面板中,将位置更改为您存储 SDK 的位置。我按版本号存储我的 Facebook SDK,这就是导致问题的原因。比如4.12版本存储在~/Documents/FacebookSDK/4.12,所以RCTFBSDK找不到正确的*.framework

此外,单击RCTFBSDK.xcodeproj 并将~/Documents/FacebookSDKrecursive 设置添加到框架搜索路径。它应该在此之后编译没有问题。

【讨论】:

  • 很好的解决方案。这很奇怪,但是将这 3 个 *.framework 文档放入 ~/Documents/FacebookSDK 解决了我的问题。谢谢
【解决方案4】:

对于您的主项目和库上的 Xcode 10.x -> RCTFBSDK.xcodeproj 在 Build Settings -> Framework Search Paths 下使用 $(HOME)/Documents/FacebookSDK 而不是 ~/Documents/FacebookSDK。

【讨论】:

    【解决方案5】:

    检查 FBSDK 文件路径的位置。我的路径最终是用户/文档/FacebookSDK

    查看Library/RCTFBSDK.xcodeproj/Frameworks/

    单击文件检查器窗口上的其中一个框架,它应该有一个名为 Full Path

    的部分

    获取该路径并将其添加到您的框架搜索路径。

    【讨论】:

      猜你喜欢
      • 2015-07-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-08-10
      • 1970-01-01
      相关资源
      最近更新 更多