Xcode找不到头文件

Yuc*_*ram 19 xcode frameworks objective-c ios

我正在尝试为我的项目制作一个框架.在我的框架中,我将头文件的路径添加到目标>构建设置>标题搜索路径.之后,我通过Build Phases> Link Binary With Libraries将此框架添加到我的项目中.

当我想导入我在框架中包含的头文件时,我得到一个.h文件找不到错误.我正在尝试做什么?或者我错过了什么?

我创建了这样的框架;

打开新项目,如iOS> Framework&Library> Cocoa Touch Framework我没有添加任何类,我只是添加了头搜索路径和库搜索路径和链接器标志.我不认为我在这部分中犯了一个错误,因为我们在每个项目中都这样做,但是第一次为框架做这个.然后我按下run并从Products获取我的框架.

我打开了我的项目并添加了框架Build Phases> Link Binary With Libraries.我能够导入框架的头文件,#import <myframework/framework.h> 之后我添加了框架也是General> Embedded Binaries.一切看起来都很正常,但我不能将标题添加到我的项目中,我将其包含在带有标题搜索路径的框架中.我必须使用标题搜索路径,因为有大量的标题,我不能将它们全部添加到我的Xcode.

Meg*_*iya 25

确保所有Public Header出现在Public Section中,否则将.h文件拖放到public 在此输入图像描述


Cal*_*leb 5

一切看起来都很正常,但我无法将标题添加到我的项目中,我使用标题搜索路径将其包含在我的框架中。

听起来好像您期望在您的标头搜索路径指定的路径中可以找到的所有标头都将成为您框架的一部分,因此如果SomeHeader.h您的搜索路径中有一个标头,它将被内置到您的框架中您将能够将其导入到客户端项目中,例如:

#import <MyFramework/SomeHeader.h>
Run Code Online (Sandbox Code Playgroud)

但事实并非如此。如果您希望您的框架提供SomeHeader.h,则需要将该文件添加到项目中,并且正如 Meghs Dhameliya 已经指出的那样,您需要SomeHeader.h在 Headers 构建阶段的 Public Headers 部分中指定。这将使 Xcode 将头文件复制到框架中,以便框架的客户端可以导入头文件。尚不清楚这是否是您真正想要的,但是……在您写的评论中:

另一条路径中有很多标题。不幸的是,我必须使用标题搜索路径。公司规定的那种。

所以听起来您公司中的所有项目都指定了相同的头搜索路径,以便他们可以访问这些头文件。如果这是真的,那么项目就没有理由需要#import从您的框架中获取它们,但在这种情况下,尚不清楚实际问题是什么。或者,您可能正在创建框架,以便客户端项目可以从您的框架中获取标头,而不必引用标头搜索路径。在这种情况下,您需要将这些标头添加到项目中并按上述方式指定它们。