FBSDKCoreKit / FBSDKCoreKit.h未find错误
我正在实施FBlogin,所以我从https://developers.facebook.com/docs/ios下载了SDK。 然后我将FBSDKCoreKit
, FBSDKLoginKit
和FBSDKShareKit
框架拖放到我的项目中。
当我跑项目工作正常。 但是当我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
并安装了FBSDKCoreKit
, FBSDKLoginKit
, FBSDKShareKit
的当前稳定版本( 4.7.0
到4.11.0
)
然后我遇到了同样的错误。 我做的是:
-
在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
- 清理构build – >⇧⌘K(Shift + Command + K) – 清理构build的框架。
- 清理生成文件夹 – >⌥⇧⌘K(Option + Shift + Command + K)
- closuresXcode //重要! – 否则自动为当前打开的项目重新创buildDerivedData
-
在terminal运行这个命令
rm -rf ~/Library/Developer/Xcode/DerivedData
-
打开XCode并成功构build
我需要通过删除框架并通过右键单击项目 – >添加文件…来添加它,然后select框架并select选项来复制文件(如果需要)。 我知道这不是什么Facebook的build议,但我不能让它做到这一点,但这种方式工作! 我使用的是FBSDK和Xcode 7 beta6的v4.6。希望它能帮助你和其他面临同样问题的人:)
这也花了我几个小时的痛苦! 最后我发现了根本问题。
Facebook SDK 必须位于〜/ Documents / FacebookSDK
这是因为在RCTFBSDK项目中,这个path是硬编码的。 但是,您可以添加自定义位置,将其添加到RCTFBSDK项目的框架searchpath(它将显示在错误控制台中)!
FB开发人员说不要select复制文件。 这造成了问题。 但是我做了反面 。
-
我select复制项目,如果需要。 它在我的项目中复制了框架。 另外自动
Search Path
是由xcode 7.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 ,唯一能为我工作的是:
-
更新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\"",
-
添加缺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
文件夹。 检查文件名是否有这个云图标:
如果是这样,macOS从您的计算机中删除您的文件,并将其上传到iCloud! (谢谢苹果)
您可以:
- 点击所有的云图标,它将下载文件
- 禁用Mac上的存储优化,以防止再次发生
将目录添加到“生成设置” – >“框架searchpath”时,请确保将其添加到“debugging版”和“发行版”。
愚蠢的错误,但如果你是Xcode的iOS开发新手,你可能会错过这一点。
对于从Carthage
移动到Cocoapods
确保从“Build Phase”下的“ Link Binary With Libraries
”选项中移除Cocoapods
的Carthage
参考。
– >构buildconfiguration。
-> Framework Search paths.
把我的例子中的FacebookSDK目录放在〜/ Documents / FacebookSDK中:
debugging ,
任何架构我任何Sdk ,
释放 。
特别是这个错误,因为在任何架构没有path我在任何Sdk在我的情况
〜/ Documents / FacebookSDK,应该注意的是FacebookSDK文件夹必须在Domuments中
例
将/Users/[username]/Documents/FacebookSDK/
目录更改为Documents/FacebookSDK
如下所示: