FBSDKCoreKit / FBSDKCoreKit.h未find错误

我正在实施FBlogin,所以我从https://developers.facebook.com/docs/ios下载了SDK。 然后我将FBSDKCoreKitFBSDKLoginKitFBSDKShareKit框架拖放到我的项目中。

当我跑项目工作正常。 但是当我closures并重新打开,然后出现"FBSDKCoreKit/FBSDKCoreKit.h not found error" 。 然后我再次复制粘贴FBSDKCoreKit框架到我的项目的库和错误消失,这个过程继续。 有人遇到过这个问题吗?

我该怎么办才能解决这个错误?

请务必遵循以下步骤:

取消select将项目复制到目标组的文件夹。 https://developers.facebook.com/docs/ios/getting-started/

此外,在你的生成设置,看看这个领域:“框架searchpath”你应该有这样的东西:/用户/ [用户名] /文件/ FacebookSDK

另外,看看Finder,并确保框架实际上在那里

在更新Cocoapods 1.0.0 ,我删除了pod.lock并安装了FBSDKCoreKitFBSDKLoginKitFBSDKShareKit的当前稳定版本( 4.7.04.11.0

然后我遇到了同样的错误。 我做的是:

  1. 在Xcode中添加标题searchpath构build设置:

     "${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK\" "${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK/FacebookSDK\" "${PODS_ROOT}/Headers/Public/FBSDKCoreKit\" "${PODS_ROOT}/Headers/Public/FBSDKCoreKit/FBSDKCoreKit\" 

然后,我仍然有错误的另一个文件。 因为XCode使用预构build框架。

找不到FBSDKCoreKit / FBSDKCopying.h

  1. 清理构build – >⇧⌘K(Shift + Command + K) – 清理构build的框架。
  2. 清理生成文件夹 – >⌥⇧⌘K(Option + Shift + Command + K)
  3. closuresXcode //重要! – 否则自动为当前打开的项目重新创buildDerivedData
  4. 在terminal运行这个命令

     rm -rf ~/Library/Developer/Xcode/DerivedData 
  5. 打开XCode并成功构build

我需要通过删除框架并通过右键单击项目 – >添加文件…来添加它,然后select框架并select选项来复制文件(如果需要)。 我知道这不是什么Facebook的build议,但我不能让它做到这一点,但这种方式工作! 我使用的是FBSDK和Xcode 7 beta6的v4.6。希望它能帮助你和其他面临同样问题的人:)

这也花了我几个小时的痛苦! 最后我发现了根本问题。

Facebook SDK 必须位于〜/ Documents / FacebookSDK

这是因为在RCTFBSDK项目中,这个path是硬编码的。 但是,您可以添加自定义位置,将其添加到RCTFBSDK项目的框架searchpath(它将显示在错误控制台中)!

FB开发人员不要select复制文件。 这造成了问题。 但是我做了反面

  1. 我select复制项目,如果需要。 它在我的项目中复制了框架。 另外自动Search Path是由xcode 7.2添加的。

  2. 另外,请仔细检查在Build Settings字段下的Search Paths下是否没有任何内容,然后添加$(PROJECT_DIR),等于/ Users / user / Documents / …. PROJECT..DIR …

在2个项目中成功编译。

我有同样的问题。 我通过在我的框架searchpath值,即“/用户/ …..”周围使用引号来解决它。 显然,我的文件path中有一些空格。

我有同样的问题。我使用Facebook SDK版本4.10.0。
我知道我的解决scheme不好,但为我工作。 我改变了Facebook的源代码。 将导入文件path从#import <FBSDKCoreKit/FBSDKCoreKit+Internal.h>更改为#import <FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h>

使用CocoaPods ,唯一能为我工作的是:

  1. 更新Xcode中的构build设置下的标题searchpath不是 框架searchpath ):

    - "\"${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK\"",

    - "\"${PODS_ROOT}/Headers/Public/Facebook-iOS-SDK/FacebookSDK\"",

    + "\"${PODS_ROOT}/Headers/Public/FBSDKCoreKit\"",

    + "\"${PODS_ROOT}/Headers/Public/FBSDKCoreKit/FBSDKCoreKit\"",

  2. 添加缺less的标题(s?):

    cd Pods/Headers/Public/FBSDKCoreKit/FBSDKCoreKit/ && ln -s ../../../../FBSDKCoreKit/FBSDKCoreKit/FBSDKCoreKit/Internal/FBSDKCoreKit+Internal.h FBSDKCoreKit+Internal.h

编辑:点2.需要显然每个以下的呼叫后重复pod install

对于Xcode 7.3 ,下面的工作对我来说。 按照FB指南中提到的步骤操作,另外执行以下操作:

步骤1.转到Document / FacebookSDK文件夹

步骤2.单击FBSDKCoreKit.framework

步骤3.在此文件夹中删除模块文件夹,然后拖放到您的Xcode项目。

参考: https : //stackoverflow.com/a/29532202

谢谢

当升级到Xcode 8时,我遇到了这个问题,并能够通过更改来解决这个问题

#import <FBSDKCoreKit / FBSDKCoreKit.h>

#import <FBSDKCoreKit/FBSDKCoreKit.h>

我有一个类似的问题,无法解决编译器错误。

我遵循并执行了几次精确的集成步骤,直到我注意到我的项目文件夹中有一个FBSDKCoreKit.framework的副本(可能是由于错误发生的) 。 此外, 框架searchpath已经包含$(PROJECT_DIR) / Users / {username} / Documents / FacebookSDK。

所以我已经从项目的目录中 删除FBSDKCoreKit.framework的副本,现在一切正常。

我昨天晚上遇到了这个问题,并想发布我的解决scheme,以防其他人有同样的问题。 我的问题是我的应用程序在SIM卡和我的设备上运行良好,但是当我试图运行我的unit testing时,由于FBSDKCoreKit的原因,构build失败。 我花了大约30分钟才发现这个问题,当我这样做的时候,我觉得自己像个假人。

确保FBSDKCoreKit包也是针对你的testing的,而不仅仅是你的常规应用程序的构build。

如果以上任何答案都不起作用,请尝试以下操作:

打开你的~/Documents/FacebookSDK文件夹。 检查文件名是否有这个云图标:

screenshot.png

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

您可以:

  1. 点击所有的云图标,它将下载文件
  2. 禁用Mac上的存储优化,以防止再次发生

将目录添加到“生成设置” – >“框架searchpath”时,请确保将其添加到“debugging版”和“发行版”。

愚蠢的错误,但如果你是Xcode的iOS开发新手,你可能会错过这一点。

对于从Carthage移动到Cocoapods确保从“Build Phase”下的“ Link Binary With Libraries ”选项中移除CocoapodsCarthage参考。

在这里输入图像说明

– >构buildconfiguration。

  -> Framework Search paths. 

把我的例子中的FacebookSDK目录放在〜/ Documents / FacebookSDK中:

debugging

任何架构我任何Sdk

释放

特别是这个错误,因为在任何架构没有path我在任何Sdk在我的情况

〜/ Documents / FacebookSDK,应该注意的是FacebookSDK文件夹必须在Domuments中

https://photos.app.goo.gl/5bD4d39a11AalYsx1

/Users/[username]/Documents/FacebookSDK/目录更改为Documents/FacebookSDK如下所示:

Xcode中