Search Paths - Header Search Pat
记录下一在BuildSettings -> Search Paths下常用的几个参数:Header Search Path
和 User Header Search Paths
,如图1

作用
Header Search Path
和 User Header Search Paths
都是用来设置头文件搜索路径的参数,通过将文件的路径配置在这两个参数中,可以在项目中引入头文件,从而可以使用该类
比如:当我们想要直接用OC来操作mysql的时候,那么就需要引入mysql提供给我们的mysql.h
头文件,那当安装好mysql后,这个文件会被放置在/usr/local/mysql/include
目录下,所以我们可以将该目录配置到User Header Search Paths
来进行引用

区别
Header Search Path
和 User Header Search Paths
的区别是和使用import
的方式有关的,当import时,会有如下两种方式
#import <SomeClass.h>
#import "SomeClass.h"
使用不同的引入方式,会导致不同的查找行为
- 若使用的是
""
的方式,它的顺序如下:
- 它会先查找
User Header Search Paths
配置的目录下有没有这个文件存在 - 如果不存在,再去查找
Header Search Path
配置的目录下有没有这个文件存在
- 若使用的是
<>
的方式,它就只会去Header Search Path
配置的目录下查找,并不会去User Header Search Paths
配置的目录下查找
所以这也是为什么当把头文件的目录配置在User Header Search Paths
后,然后使用#import <mysql.h>
引入时,会报错,如图3

Library search path
Library Search Paths 管理导入的*.a的路径
Framewrok Search Path
Framework Search Paths 管理导入的*.framework的路径
拓展
根据苹果文档,XCode用户可以 通过Header Search Paths 来配置环境变量。
Header Search Paths 顾名思义就是用来存放 Project 中头文件的搜索根源,没有被add到项目里的头文件,可以通过配置Header Search Paths 来引入头文件,这样的好处可以不让project 包含的文件太多,便于管理。