Xcode头文件引入方式

Header Search Path

在Xcode Build System设置中,有Header Search Path、System Header Search Path、User Header Search Path这几种方式,区别在于:

  • System Header Search Path :针对系统头文件的设置,通常代指 <> 方式引入的文件
  • User Header Search Path :针对非系统头文件的设置,通常代指 "" 方式引入的文件
  • Header Search Path :并不会有任何限制,两种方式都可以,CocoaPods使用的这种方式
Xcode Build System

Header Maps

上述三种方式是基本的文件引用方式,一个项目那么多文件,用这些引用路径遍历查找肯定是很低效的,所以Xcode会优先使用Header Map来提高头文件索引速度。

当我们开启 Build Setting 中的 Use Header Map 选项后,会自动生成的一份头文件名和头文件路径的映射表,而这个映射表就是 hmap 文件,不过它是一种二进制格式的文件,也有人叫它为 Header Map。

hmap 内容

Framework Search Path

还有一种头文件搜索机制,它是基于 Framework 这种文件结构进行的。
当拖入一个.framework文件进入工程,自动会在Framework Search Path配置上该文件路径。

这里着重讲一下Framework打包时,Public、Private、Project的区别:


Framework Headers
  • Public:公开在framework里面Headers文件夹下
  • Private:不公开,不建议使用,但是会打包到Target里面,可以通过#import 来引用
  • Project:不打包入Target,不能引用,真正意义上的私有

参考文献

https://blog.csdn.net/MeituanTech/article/details/114109300?spm=1001.2014.3001.5502

你可能感兴趣的:(Xcode头文件引入方式)