如何告诉Xcode如何包含用尖括号指定的库?

ope*_*rog 22 c xcode objective-c ios

我经常看到在Xcode/Objective-C实现文件中导入第三方库的开源代码,如下所示:

#import <ThirdPartyLibrary/utilities.h>
Run Code Online (Sandbox Code Playgroud)

但是当我在项目中拖放文件结构和这样一个库的文件时,所有这些导入都被破坏了,Xcode不知道文件的位置.

我最终手动修改每个导入看起来像:

#import "utilities.h"
Run Code Online (Sandbox Code Playgroud)

并且包含似乎与文件系统上的当前物理文件夹相关.当库在文件系统上的文件夹中分割文件并将其拖放到Xcode中时,Xcode会为文件夹创建组.但是对于导入,我必须指定文件夹名称.问题是我在一个文件夹中,例如:

HTTP/httpTools.h

然后当httpTools.h想要从root用户导入utilities.h时,我必须改变

#import <ThirdPartyLibrary/utilities.h>
Run Code Online (Sandbox Code Playgroud)

#import "../utilities.h"
Run Code Online (Sandbox Code Playgroud)

这是一件苦差事.这样做了5个小时后我觉得该死的,必须有更好的方法.有人能解释一下教Xcode的秘诀是一个可以用尖括号导入的新框架位置吗?框架btw是源代码.没编译.只是裸露的代码.

jus*_*tin 11

使用编译器标志-I或Xcode构建设置别名指定包含路径HEADER_SEARCH_PATHS.当然,您可以在执行此操作时使用构建变量.

  • 不适合我的情况.似乎xcode只从系统库中搜索括号中指定的标头. (3认同)

fat*_*ihk 5

偶然发现同样的问题,Xcode中有两种类型的搜索路径:

Header Search Paths
User Header Search Paths
Run Code Online (Sandbox Code Playgroud)

如果将自己的包含文件夹添加到标题搜索路径中,则可以使用斜角括号.