它说“未找到FacebookSDK / FacebookSDK.h文件”
然而,我可以在#import上跳转到定义并将它带到文件中。
一旦我添加#import,它现在知道FBFriendPickerDelegate是什么,现在它在该行上没有错误。
我的项目和右侧文件夹中有facebookSDK.framework。这是SDK 3.1。 我尝试将搜索路径添加到/ FacebookSDK和/FacebookSDK.framework和/ FacebookSDK / Versions / A / Headers等。我还尝试了#import“FacebookSDK.framework / Versions / A / Headers / FacebookSDK.h”,它仍然说它可以找不到它。我也试过干净并重新启动。我有最新版本的Xcode。
//
// FacebookView.h
//
#import <UIKit/UIKit.h>
#import <FacebookSDK/FacebookSDK.h>
@interface FacebookView : UIViewController <FBFriendPickerDelegate>
{
}
答案 0 :(得分:95)
首先,您必须从项目中删除您的FacebookSDK.framework。然后用这5个步骤重新开始。不要重新链接框架。
就是这样。
答案 1 :(得分:24)
无需删除任何内容。
在您的项目中,转到:&#34; 构建设置“,然后”搜索路径&#34;。寻找&#34; 框架搜索路径&#34;。你可能有这样的东西:
框架搜索路径:/ Users / john / Documents / exampleappxyz
将其更改为:
框架搜索路径: $(PROJECT_DIR)
瞧!
答案 2 :(得分:9)
我尝试了这个,但它对我不起作用。我不得不进入项目的Build Settings并手动修复FacebookSDK Framework Search Paths
以找到FacebookSDK。
答案 3 :(得分:5)
$(PROJECT_DIR)/project_name/Resources/Frameworks
现在转到构建设置→搜索路径→框架搜索路径,并确保它具有以下两项内容。
(a)$(inherited)
(b)$(PROJECT_DIR)/project_name/Resources/Frameworks.
不提醒框架存在于Frameworks
文件夹
希望它有效。 请记住不要将任何文件夹名称保留为空格。如果你保留了它们,请确保提供正确的转义字符。
答案 4 :(得分:1)
如何删除facebook sdk链接:
对于那些喜欢自己的人来说,不正确地添加了facebook sdk。从项目中删除facebook SDK,
检查框架文件夹中的链接,删除那里的任何facebook sdk链接
进入构建阶段 - &gt; Link Binary With Libraries并删除那里的任何facebook sdk
右键单击frameworks文件夹并选择&#34;在查找器中显示&#34;并删除那里的任何facebook sdk
现在关注&#34; Fede Cugliandolo&#34;的步骤并重新添加facebook sdk
答案 5 :(得分:1)
我今天遇到了这个问题。
事实证明我需要在所有三个地方都有我的框架搜索路径:
1) Project Build Settings
2) App Target Build Settings
3) UnitTests Target Build Settings
我的搜索路径是:
/Users/myusername/Documents/FacebookSDK
确认后,错误消失了。
答案 6 :(得分:0)
我使用xcode 5,当添加sdk时,它不能正确写入“project.pbxproj”中的自写地址。
而是sdk的本地地址,它可以保存全局地址。
我打开“project.pbxproj”并找到它的位置,只为项目中的sdk留下地址。
<project name>/src/external/facebook
<project name>/src/external/testflight
编辑条目如下
/Users/<user Name>/myProjects/.../ios/<project name>/src/external/facebook
答案 7 :(得分:0)
您必须在构建设置中更改属性“框架搜索路径”,并指定文件FacebookSDK.framework所在的位置(然后您可以使用SRCROOT变量指向项目目录的根目录,因此,避免使用绝对路径;))例如:
$(SRCROOT)/SampleProject/src/Utils/Facebook/
这通常是在导入第三方框架时由Xcode自动完成的,但有时会混乱,(例如:当您修改项目目录树时......)
希望有帮助...
答案 8 :(得分:0)
除了添加搜索路径之外,我还必须设置递归路径,并从“要删除的子目录”选项中删除“* .framework”以使其生效。
答案 9 :(得分:0)
如果你已经两次导入facebookSDK并删除了一些文件,就会发生这种情况。
例如,我在$ project / framework中导入了facebookSDK,但由于某些原因我删除了它。然后我通过〜/ Documents / FacebookSDK导入它,但Xcode保留旧文件夹并默认搜索它。
我必须删除旧导入的所有引用和文件才能解决我的问题。
答案 10 :(得分:0)
我最终检查了我的项目目录,删除了对框架文件的任何旧引用。然后,从Build Phases / Search路径中删除它。同时删除链接的框架。重新启动Xcode,然后重新执行该过程:将Framework拖到Frameworks,不要复制。检查Build Phases / Search路径。包括“#import”。终于工作了。呼。
答案 11 :(得分:0)
按照说明操作 At step 4 Configure your Xcode Project 我想你错过了什么。删除项目中的Facebook.sdk,然后重试。
答案 12 :(得分:0)
当我更新XCode时遇到了同样的问题,但在我的情况下,我不想对项目设置进行任何手动更改,因为我使用CMake来创建它。你可以在这里找到我修复它的方式:https://stackoverflow.com/a/25564152/525873
答案 13 :(得分:0)
很简单,您必须从项目中删除您的FacebookSDK.framework。
转到项目目标中的构建阶段。 在Link Binary With Libraries中,单击“+”按钮。 单击“添加其他...”按钮 浏览您的FacebookSDK文件夹。 一般在〜/ mohit / Documents / FacebookSDK / Clik(选择)“facebookSDK.framework”然后打开。
现在复制此目标设置&gt;框架搜索路径到项目设置&gt;框架搜索路径。
答案 14 :(得分:0)
我找到的唯一解决方案是:
删除phonegap插件:离子插件rm phonegap-facebook-plugin
克隆下一个插件git clone:https://github.com/jeduan/cordova-plugin-facebook4.git
手动添加插件:cordova -d plugin添加PATH / cordova-plugin-facebook4 - 变量APP_ID =“*****” - 变量APP_NAME =“*****”
在此之前尝试重新添加FacebookSDK.framework并通过本地克隆安装了phonegap插件facebook,但错误仍在继续。
答案 15 :(得分:0)
请按以下步骤操作: