所以每次我更新我的应用程序时,Xcode声称即使它在那里也找不到特定的外部框架。它再次发生在Xcode 6和我常用的方法(我相当缺乏经验,所以这些基本上涉及点击和打字事情,直到发生事情(我夸大但不是太多))不起作用。
我收到Lexical or Preprocessor Issue
错误,上面写着'Parse/Parse.h' file not found.'
但是这里有项目截图并添加到库中:
我也按照‘ld: warning: directory not found for option’中最受欢迎的答案中的步骤进行了操作,但仍然没有。
知道该怎么办?有什么想法吗?我在这里撕扯我的头发。
答案 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。
然后我转到该列表底部的加号,并选择Add Other并手动找到下载的.framework文件。
答案 3 :(得分:5)
在我的情况下,在我将Parse.framework所在的目录添加到Frameworks搜索路径构建设置的路径后,错误消失了:
我的项目甚至没有该设置的条目,因此您可能还需要创建它。
答案 4 :(得分:3)
将解析升级到1.4v时遇到了同样的问题。你必须从Framework List和项目目录中删除Parse.framework,当从两个地方删除时再次复制并检查&#34;将项目复制到目标的组文件夹&#34;。它对我有用。
答案 5 :(得分:1)
答案 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_ID
和PARSE_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,起初没有任何区别。我希望我能提供帮助。