我只是通过此文档在ios项目中添加 facebookSDK.framework :Getting Started with the Facebook SDK for iOS
我已经成功构建并运行了我的Xcode项目。但是当我复制我的源代码并在另一台PC上运行它后,错误即将来临 “未找到Lexical或Preprocessor Issue'FacebookSDK / FacebookSDK.h'文件”
我还在我的项目资源中添加了 facebookSDK.framework ,然后再试一次,但没有解决。
所以,请告诉我如何在其他地方运行这个项目。
答案 0 :(得分:31)
我有一个非常类似的问题,但就我而言,它是使用Amazon Web Services SDK而不是Facebook SDK。对我来说,问题结果与我的框架加载路径有关。
解决方案:转到Xcode中的“构建设置”,在“搜索路径”下有一个“框架搜索路径”项。双击它并添加一个新的搜索路径:.
并使其递归。清洁和建设。
这假设您的框架存储在项目目录中的某个位置。如果没有,请根据需要更改新的搜索路径。
答案 1 :(得分:4)
我遇到了这个问题并通过这样做来修复它:
答案 2 :(得分:3)
在我的情况下,我做了类似于你的事情(有一点是不同的),它对我有用。步骤如下:
转到FacebookSDK目录,选择FacebookSDK.framework,右键单击并按下获取信息,然后复制文件路径。(例如:/ Users / macbook / Documents / FacebookSDK)
转到"构建设置"在Xcode中,以及"搜索路径"有一个"框架搜索路径"项目。双击它并粘贴刚刚复制的文件路径。
请注意,此项设置同时存在于'项目'和'目标',所以将它粘贴在两个地方。
清理项目并构建。这次它应该工作。
答案 3 :(得分:2)
我对Lexical或Preprocessor问题的解决方案 - 找不到文件错误,如下所示:
转到Xcode =>项目目标=>构建设置=>搜索路径
然后在此路径中使用您自己的项目名称在框架搜索路径和库搜索路径中插入以下路径: “$ {SRCROOT} //项目名称/ facebookSDK / framework”
答案 4 :(得分:1)
我通过将DeprecatedHeaders
文件夹从Facebook SDK(它位于FacebookSDK/Versions/Current
)拖到Frameworks
旁边的FacebookSDK.framework
文件夹中解决了此错误消息。< / p>
添加各种搜索路径(包括上面建议的.
)没有帮助,Mr_bem的答案也没有帮助 - .m
文件已经存在于“编译源”
这可能无法直接帮助OP的问题,但可能有希望帮助像我这样的人。
答案 5 :(得分:1)
就我而言,问题出在MillenialMedia SDK上:
词法或预处理器问题'MillennialMedia / MMSDK.h'文件没有 结果
它是通过从项目中删除SDK框架,将框架移动到Project的顶级文件夹(存储.xcodeproj文件)来解决的。然后在Build Phases中将Frameworks添加到Project。
有时您需要重新下载官方网站的SDK存档(如果它已损坏或类似的东西)。在我的情况下,这是在将我的项目从办公室计算机推送到远程存储库并从家用计算机中拉出之后发生的。
删除框架
将framevorks从内部文件夹移动到顶级Project文件夹(相同文件夹,存储.xcodeproj文件
将框架添加回项目
答案 6 :(得分:0)
应该这样做。
如果没有,只需清理你的项目(命令+ shift + k),然后重新添加框架(Y)。
如果您还有其他问题,请询问; D
答案 7 :(得分:0)
我有同样的问题。也许你使用tortoiseSVN(windows)来检查源代码。
这是我的问题:
Mac =&gt; submit source =&gt; Window =&gt; checkout source =&gt;将源从窗口复制到Mac =&gt; compile =&gt;错误。
解决方案:使用svn for Mac来结帐。
答案 8 :(得分:0)
在我的情况下,它是Xcode及其可爱的F ***东西:)
解决方案:转到Xcode中的“构建设置”,在“搜索路径”下有一个“框架搜索路径”项。确保在引号之前没有斜杠,这通常是在通过Xcode上的“Add files to ...”添加框架时添加的。 如果在引号前看到斜杠,请将其删除。 例如:
\"
应该是
"
答案 9 :(得分:0)
当我遇到这个问题时,我发现项目恢复干净,但是当我试图运行它时,我收到了错误。如果我注释掉了facebook.h文件,那么它只是切换到我的前缀文件中的下一个文件,但仍然创建了错误。
我已准备好开始更改构建设置和搜索路径,但决定关闭所有Xcode项目并首先重新启动它,这对我有用。
写这个似乎是一件非常明显的事情,但是一旦出现错误,我就会进入stackoverflow并尝试上面建议的答案。我的情况可能是罕见且独特的,但肯定会尝试重新启动并关闭所有内容,因为它只需要10秒钟并为我工作。
答案 10 :(得分:0)
Build Phases->Link binary with Libraries
"Add Other"
Build Settings->Search Paths->Framework Search Path
并确保它具有以下两项内容。(a)$(继承)
(b)$(PROJECT_DIR)/ project_name / Resources / Frameworks。
不提醒框架内存在&#34;框架&#34;夹
希望它有效。 请记住不要将任何文件夹名称保留为空格。如果你保留了它们,请确保提供正确的转义字符。
答案 11 :(得分:0)
我有同样的问题,在我的情况下找出这个错误的原因是因为 多了一个“facebookSDK.framework” 可以在“框架搜索路径“。
您可以检查项目中的所有“框架搜索路径”,并确保Xcode只能在这些路径中找到一个“facebookSDK.framework”。
答案 12 :(得分:0)
框架搜索路径和标题搜索路径中的值最初与其他人提到的值相同。
我检查了通过将库拖动到Xcode手动链接库。 FB SDK的库也已经存在。
问题在于下载SDK的文件夹名称
我将其重命名为 FacebookSDK ,并启动并运行了我的应用
答案 13 :(得分:0)
如果您在IOS上使用此命令行作为facebook插件
(start_ind..end_ind).each do |index|
foo(ar[index])
# maybe more code
end
你在框架中看到了FacebookSDK.framework但你无法扩展它。
返回并使用 cordova -d plugin add /path/to/cloned/phonegap-facebook-plugin --variable APP_ID="123456789" --variable APP_NAME="myApplication"
然后
cordova plugin remove phonegap-facebook-plugin
然后重新添加facebook插件。
答案 14 :(得分:-1)
vote539是正确的,但是......
Blockquote转到Xcode中的“Build Settings”,在“Search Paths”下面有一个“Framework Search Paths”项。
然后双击“框架搜索路径”的当前路径。
会出现一个窗口。对于项目$(PROJECT_DIR)/ yourAppName,从递归更改为递归。
问题的原因是您将框架放在子目录中,而不是在根目录中。