找不到外部框架File / File.h(Parse / Parse.h)文件

时间:2014-09-10 11:45:19

标签: ios parse-platform ios8 xcode6 file-not-found

所以每次我更新我的应用程序时,Xcode声称即使它在那里也找不到特定的外部框架。它再次发生在Xcode 6和我常用的方法(我相当缺乏经验,所以这些基本上涉及点击和打字事情,直到发生事情(我夸大但不是太多))不起作用。

我收到Lexical or Preprocessor Issue错误,上面写着'Parse/Parse.h' file not found.'但是这里有项目截图并添加到库中:

enter image description here

enter image description here

我也按照‘ld: warning: directory not found for option’中最受欢迎的答案中的步骤进行了操作,但仍然没有。

知道该怎么办?有什么想法吗?我在这里撕扯我的头发。

10 个答案:

答案 0 :(得分:7)

实际上我遇到了同样的问题,但在做了很多(删除/添加解析框架)后,我才知道parse.framework已经添加,错误仍然存​​在。

真正的问题不在主要项目的链接二进制文件中,而是在测试链接二进制文件中。 让我们说你的项目名称是" project1"和Xcode创建了一个名为" project1Tests"的文件夹。所以选择" project1Tests"并在链接二进制文件中添加parse.framework。

查看层次结构:

<强> PROJECT
PROJECT1

定位
PROJECT1
project1Tests(你需要选择它来添加解析框架)。

希望这可以帮助您解决此问题。

答案 1 :(得分:7)

我也有这个错误。我在Swift中开发,所以我添加了一个&#34;桥头&#34;如this Parse blog post中所述。

我找不到&#34; Parse.h的原因&#34;是我的项目名称包含空格。 (对于项目名称,我指的是您在创建新项目时输入的产品名称,它决定了您的文件夹的名称。)第一天一切顺利,但在关闭并打开Xcode之后,事实证明Xcode解释了这些字词由空格分隔为不同的路径。

要解决此问题,您可以转到构建设置 - &gt;搜索路径 - &gt;框架搜索路径并添加&#34; \&#34;在每个空间之前。 (如果双击路径,您会看到Xcode将每个单词用空格分隔为不同的条目。)

另请注意,#import <Parse/Parse.h>的网桥标题不是强制性的:您只需执行import Parse

答案 2 :(得分:5)

我所要做的就是通过突出显示并按删除来从此列表中删除Parse.framework。

enter image description here

然后我转到该列表底部的加号,并选择Add Other并手动找到下载的.framework文件。

enter image description here

答案 3 :(得分:5)

在我的情况下,在我将Parse.framework所在的目录添加到Frameworks搜索路径构建设置的路径后,错误消失了:

Framework Search Paths

我的项目甚至没有该设置的条目,因此您可能还需要创建它。

答案 4 :(得分:3)

将解析升级到1.4v时遇到了同样的问题。你必须从Framework List和项目目录中删除Parse.framework,当从两个地方删除时再次复制并检查&#34;将项目复制到目标的组文件夹&#34;。它对我有用。

答案 5 :(得分:1)

它为我工作。 只需转到Build Active Architecture OnlyDebug应为yesRelease应为No  enter image description here

答案 6 :(得分:0)

在我的情况下,除了Sukhchais的回答,我还要做一件事。 似乎虽然parse.framework出现在目标的'link Binary with Libraries'列表中,但由于某些原因,它们可能没有正确链接。只需从列表中删除parse.framework并按照提及的方式再次添加。通过这种方式,我能够解决我的问题。

答案 7 :(得分:0)

如果有人可能遇到同样的问题,请分享我的调查结果:

在我们的源代码库中,我们在两个不同的地方有两个Parse.framework引用。 Parse.framework的引用从目标开始在目标的构建阶段中链接。但是当编译应用程序时,Xcode不够聪明,无法获得引用并且在“Parse / Parse.h” 时出现错误:“词法或预处理器问题”错误在 .pch 文件中导入。 通过尝试各种选项花了几个小时后,从源库中删除了Parse.framework的引用,并且只保留了一个引用。这解决了这个问题。

应用程序编译成功:)

答案 8 :(得分:0)

对于来自Ionic + Cordova的人,如果您收到此错误,我会删除当前的parsePlugin并将其替换为this fork来解决此问题。

为简单起见,我使用了这些控制台命令(将PARSE_APP_IDPARSE_CLIENT_KEY替换为Parse控制台中的密钥):

cordova plugin rm com.parse.cordova.core.pushPlugin
cordova plugin add https://github.com/grrrian/phonegap-parse-plugin --variable APP_ID=PARSE_APP_ID --variable CLIENT_KEY=PARSE_CLIENT_KEY

答案 9 :(得分:0)

好的,所以我也遇到了这个问题。我卸载了所有的pod,再次重新安装它们,没有运气。 因此,好消息(考虑到我花在试图找到问题的时间上的坏消息)是我最终设法解决它。显然,您必须在解析之前导入Foundation / Foundation.h.我不知道这是否适合你,但我在网上尝试了一切,只有这似乎有效。如果您有任何此类实例:

#import <Parse/Parse.h>
#import <Foundation/Foundation.h>

将其翻转,以便首先宣布基金会:

#import <Foundation/Foundation.h>
#import <Parse/Parse.h>

我还读到某些人在Facebook SDK和Parse SDK导入方面存在问题。显然,两者有共同的Bolt.Framework或其他东西,这会导致错误。我也删除了Facebook SDK,起初没有任何区别。我希望我能提供帮助。