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 方式 -> .a
swift
關於Library 和 Framework 能夠參考:
http://blog.lanvige.com/2015/...框架
(1)swift項目cocoapods 默認 use_frameworks! (2)OC項目cocoapods 默認 #use_frameworks!
(1)#use_frameworks! 必須建立頭文件,在頭文件裏面 #import "AFNetworking.h"ui
(2)use_frameworks! 若是有頭文件,在頭文件裏面 #import "AFNetworking/AFNetworking.h",其它swift文件中用到不須要再import;若是沒有頭文件,則在每一個須要用到的swift文件裏 import AFNetworking。code
(1)必須use_frameworks!blog
(2)不須要頭文件,在須要用到框架的swift文件裏 import Alamofire資源
(1)#use_frameworks! 在須要用到的文件裏 #import "AFNetworking.h";也能夠經過pch文件,用法相似swift中的頭文件。get
(2)use_frameworks! 與(1)相似,用法上沒有區別。io
總結:
(1)用swift項目考慮到會使用 OC 和 swift 兩種第三方框架,因此Podfile中使用swift項目默認的 use_frameworks! 更爲穩當,而且frameworks動態連接庫具備必定的優點。 import
(2)能夠創建一個Bridge頭文件,用來import那些OC框架的.h文件:#import "xxx/xxx.h"。或者不建頭文件,像swift框架同樣,直接在須要用到的swift文件中import。