我真的很难在xcode 4中使用它。
我有一个项目,我将在许多应用程序(网络)中重用,所以我创建了一个工作区并添加了我的两个项目。到现在为止还挺好.... 这是它失败的地方..
#import "JSONRequest.h"
没有明显的理由。它会自动完成头文件的文件名。我认为这与“方案”(xcode 4中的新功能)有关,所以我试图在构建阶段添加我的网络目标。改变它们的顺序...在管理方案下设置“共享”..我已经尝试了很多不同的设置组合而没有任何成功..而错误信息是获取的是:
JSONRequest.h: No such file or directory
如果您有任何线索,请告诉我。
答案 0 :(得分:10)
您可以将您引用的项目的标题或源文件夹添加到标题搜索路径。
您可以在Apple开发者论坛中找到有关此问题的更多信息。祝你好运。
答案 1 :(得分:6)
你真的想做什么?
如果您有一个完整的Xcode项目,您打算在不同的产品之间共享,这通常表明您的项目构建了一个或多个目标(例如框架等)。因此,您的“共享”项目应该能够自己构建框架,而不管它包含在哪个工作区中,对吧?
让我们假设它是一个框架。在大多数情况下,Xcode可以通过简单地使用框架将框架产品添加到(假设)应用程序的链接构建阶段来确定依赖性。完成。 Xcode应该知道首先构建框架项目的目标,因为它在构建应用程序项目的目标时会被链接。
所以你的问题可能只是知道Xcode在哪里寻找文件。由于工作空间内的项目共享该工作空间的构建文件夹,因此它们可以全部“看到”彼此。但是在框架的情况下,按文件名进行简单导入不会削减它。你需要:
#import <MyNetworkingFramework/MyNetworkingFramework.h>
由于您要包含一个特定的标头(JSONRequest.h)(它必须是框架目标的复制标头构建阶段中的公共标头之一),您需要:
#import <MyNetworkingFramework/JSONRequest.h>
如果您的“共享”项目不是框架,则需要修改您的问题,以包含对您的两个项目及其目标的更全面的描述。
答案 2 :(得分:1)
这对我有用,
在构建设置 - &gt; 标题搜索路径 - &gt;添加以下条目
$(SRCROOT) and mark it as recursive.
如果以上不起作用,您也可以尝试以下方式,
<path-of-other-project> and mark it as recursive.
希望这个对你有所帮助! (您可能需要清理或重新启动工作区)