先看圖:
- use_frameworks! 與 #use_frameworks!
從上圖可以看出use_frameworks!與 #use_frameworks!的區(qū)別:
使用#use_frameworks!:
- 如果在Podfile文件里不使用 use_frameworks! 則是會生成相應(yīng)的 .a文件(靜態(tài)鏈接庫),通過 static libraries 這個方式來管理pod的代碼。
- Linked:libPods-xxx.a包含了其它用pod導(dǎo)入的第三方框架的.a文件。
而使用use_frameworks!:
- 則cocoapods 會生成相應(yīng)的 .frameworks文件(動態(tài)鏈接庫:實際內(nèi)容為 Header + 動態(tài)鏈接庫 + 資源文件),使用
dynamic frameworks來取代static libraries方式。
- 則cocoapods 會生成相應(yīng)的 .frameworks文件(動態(tài)鏈接庫:實際內(nèi)容為 Header + 動態(tài)鏈接庫 + 資源文件),使用
- Linked:Pods_xxx.framework包含了其它用pod導(dǎo)入的第三方框架的.framework文件。
即:
use_frameworks! -> dynamic frameworks 方式 -> .framework;
#use_frameworks! -> static libraries 方式 -> .a。
注意:
- Swift項目cocoapods 默認(rèn)
use_frameworks!; - OC項目cocoapods 默認(rèn)
#use_frameworks!; - 用cocoapods 導(dǎo)入Swift 框架到 Swift項目和OC項目都必須要
use_frameworks!; - 使用
dynamic frameworks,必須要在Podfile文件中添加use_frameworks!。
