Header Search Path
在Xcode Build System設(shè)置中俭正,有Header Search Path奸鬓、System Header Search Path、User Header Search Path這幾種方式掸读,區(qū)別在于:
- System Header Search Path :針對系統(tǒng)頭文件的設(shè)置串远,通常代指 <> 方式引入的文件
- User Header Search Path :針對非系統(tǒng)頭文件的設(shè)置,通常代指 "" 方式引入的文件
- Header Search Path :并不會有任何限制儿惫,兩種方式都可以澡罚,CocoaPods使用的這種方式
Header Maps
上述三種方式是基本的文件引用方式,一個(gè)項(xiàng)目那么多文件肾请,用這些引用路徑遍歷查找肯定是很低效的留搔,所以Xcode會優(yōu)先使用Header Map來提高頭文件索引速度。
當(dāng)我們開啟 Build Setting 中的 Use Header Map 選項(xiàng)后铛铁,會自動生成的一份頭文件名和頭文件路徑的映射表催式,而這個(gè)映射表就是 hmap 文件,不過它是一種二進(jìn)制格式的文件避归,也有人叫它為 Header Map荣月。
Framework Search Path
還有一種頭文件搜索機(jī)制,它是基于 Framework 這種文件結(jié)構(gòu)進(jìn)行的梳毙。
當(dāng)拖入一個(gè).framework文件進(jìn)入工程哺窄,自動會在Framework Search Path配置上該文件路徑。
這里著重講一下Framework打包時(shí)账锹,Public萌业、Private、Project的區(qū)別:
- Public:公開在framework里面Headers文件夾下
- Private:不公開奸柬,不建議使用生年,但是會打包到Target里面,可以通過
#import <MyPod/PrivateClass.h>
來引用 - Project:不打包入Target廓奕,不能引用抱婉,真正意義上的私有
參考文獻(xiàn)
https://blog.csdn.net/MeituanTech/article/details/114109300?spm=1001.2014.3001.5502