Podfile中的 use_frameworks!

use_frameworks!

A、用cocoapods 導入swift 框架 到 swift項目和OC項目都必需要 use_frameworks!
B、使用 dynamic frameworks,必需要在Podfile文件中添加 use_frameworks!ios

(1)若是在Podfile文件裏不使用 use_frameworks! 則是會生成相應的 .a文件(靜態連接庫),經過 static libraries 這個方式來管理pod的代碼。   

(2)Linked:libPods-xxx.a包含了其它用pod導入的第三方框架的.a文件。

(3)若是使用了use_frameworks! 則cocoapods 會生成相應的 .frameworks文件(動態連接庫:實際內容爲 Header + 動態連接庫 + 資源文件),使用 dynamic frameworks 來取代 static libraries 方式。   

(4)Linked:Pods_xxx.framework包含了其它用pod導入的第三方框架的.framework文件。

use_frameworks! -> dynamic frameworks 方式 -> .framework
#use_frameworks! -> static libraries 方式 -> .aswift

關於Library 和 Framework 能夠參考:
http://blog.lanvige.com/2015/...框架

(1)swift項目cocoapods 默認 use_frameworks!
(2)OC項目cocoapods 默認 #use_frameworks!

用cocoapods導入OC框架到swift項目:

(1)#use_frameworks! 必須建立頭文件,在頭文件裏面 #import "AFNetworking.h"ui

(2)use_frameworks! 若是有頭文件,在頭文件裏面 #import "AFNetworking/AFNetworking.h",其它swift文件中用到不須要再import;若是沒有頭文件,則在每一個須要用到的swift文件裏 import AFNetworking。code

用cocoapods導入swift框架到swift項目:

(1)必須use_frameworks!blog

(2)不須要頭文件,在須要用到框架的swift文件裏 import Alamofire資源

用cocoapods導入OC框架到OC項目:

(1)#use_frameworks! 在須要用到的文件裏 #import "AFNetworking.h";也能夠經過pch文件,用法相似swift中的頭文件。get

(2)use_frameworks! 與(1)相似,用法上沒有區別。io

用cocoapods導入swift框架到OC項目:不考慮

總結:

(1)用swift項目考慮到會使用 OC 和 swift 兩種第三方框架,因此Podfile中使用swift項目默認的 use_frameworks! 更爲穩當,而且frameworks動態連接庫具備必定的優點。 import

(2)能夠創建一個Bridge頭文件,用來import那些OC框架的.h文件:#import "xxx/xxx.h"。或者不建頭文件,像swift框架同樣,直接在須要用到的swift文件中import。

相關文章
相關標籤/搜索