原文地址: Objective-C 和 Swift 第三方庫使用
注1:文章寫于2016年9月满败,(swift 3.0樊破、Xcode 8)不同版本可能不同茅信,僅作參考屹徘。
注2:個(gè)人總結(jié)出的最好方式是使用cocoapods捍靠,沒有用過的請(qǐng)參看之前的文章沐旨。
OC 第三方框架以 AFNetworking 3.1.0 為例。
Swift 第三方框架 Alamofire 4.0.0 為例榨婆。
一磁携、通過cocopods導(dǎo)入項(xiàng)目:
(1)搜索第三方庫
(2)創(chuàng)建Podfile文件
(3)編輯Podfile文件
(4)導(dǎo)入第三方庫到工程
1、第三方庫是swift庫纲辽,導(dǎo)入到swift項(xiàng)目颜武。
用到的文件中需要:import Alamofire
2、第三方庫是swift庫拖吼,導(dǎo)入到OC項(xiàng)目鳞上。
不考慮
3、第三方庫是OC庫吊档,導(dǎo)入到swift項(xiàng)目篙议。
用到的文件中需要:import AFNetworking
4、第三方庫是OC庫怠硼,導(dǎo)入到OC項(xiàng)目鬼贱。
用到的文件中需要:#import "AFNetworking.h"
二、直接將文件粘貼到項(xiàng)目:
測(cè)試發(fā)現(xiàn)香璃,有些第三方庫拖進(jìn)swift項(xiàng)目目錄里直接可以用这难,比如IQKeyboardManagerSwift等。
如果第三方庫是swift葡秒,不需要import,直接可用姻乓;如果第三方庫是OC,在Bridge頭文件中添加眯牧。
原因分析:
說明IQKeyboardManagerSwift里面使用的方法都是在foundation和uikit框架下的蹋岩,不需要調(diào)用其他庫的方法,直接拖進(jìn)工程学少,你可以看做就是自己寫的一些類而已剪个。Alamofire框架用到了其他的庫內(nèi)容,需要導(dǎo)入這些庫版确。
你可以用import做關(guān)鍵字搜索一下這些庫里面導(dǎo)入的頭文件扣囊,IQKeyboardManagerSwift只使用foundation和uikit乎折,而Alamofire不是的
使用cocoapods來安裝,一是可以方便管理第三方庫如暖,如果這些庫有更新的話笆檀,可以直接pod update,另一方面是cocoapods在安裝庫的時(shí)候會(huì)自動(dòng)幫你導(dǎo)入使用到的庫文件盒至,也就是避開了你自己導(dǎo)入的這個(gè)環(huán)節(jié)而已
1酗洒、第三方庫是swift庫,粘貼到swift項(xiàng)目枷遂。
參考下面的A
(1)在項(xiàng)目目錄下使用git語句:git submodule add https://github.com/Alamofire/Alamofire.git
, 或者去官網(wǎng)上下載下來將整個(gè)文件夾放到項(xiàng)目目錄下
(2)將下載到本地的文件夾中Alamofire.xcodeproj 文件拖到項(xiàng)目中去
(3)General->Embedded Binaries-> + -> iOS -> Add
在需要用到的swift文件中:import Alamofire
2樱衷、第三方庫是swift庫,粘貼到OC項(xiàng)目酒唉。
不考慮
3矩桂、第三方庫是OC庫,粘貼到swift項(xiàng)目痪伦。
A. 添加庫方法
(1)在項(xiàng)目目錄下使用git語句:git submodule add https://github.com/AFNetworking/AFNetworking.git
,或者 去官網(wǎng)上下載下來將整個(gè)文件夾放到項(xiàng)目目錄下
(2)將下載到本地的文件夾中AFNetworking.xcodeproj 文件拖到項(xiàng)目中去
(3)General->Embedded Binaries-> + -> iOS -> Add
在需要用到的swift文件中:import AFNetworking
B. 在A的基礎(chǔ)上(或者用cocoapods導(dǎo)入OC框架后)侄榴,創(chuàng)建Bridge頭文件,這樣不需要每次寫impot就可以整個(gè)項(xiàng)目使用网沾。
(1)創(chuàng)建一個(gè)普通的頭文件癞蚕,一般命名為項(xiàng)目名-Bridge-Header.h
(2)在頭文件里面編寫:
#ifndef Swift_test_Bridging_Header_h
#define Swift_test_Bridging_Header_h
#import <AFNetworking/AFNetworking.h>
#endif
(3)添加頭文件到Build Settings -> Objective-C Bridging Header
==>快捷方法:
新建一個(gè)OC文件,選擇自動(dòng)創(chuàng)建頭文件辉哥,然后在頭文件里面編寫 如上內(nèi)容桦山,刪除OC文件。
Build Settings -> Objective-C Bridging Header 會(huì)自動(dòng)添加醋旦。
4恒水、第三方庫是OC庫,粘貼到OC項(xiàng)目饲齐。
用到的文件中需要:#import "AFNetworking.h"
三钉凌、import時(shí)<>括號(hào)和""的區(qū)別
(1)在項(xiàng)目中導(dǎo)入庫或者類的時(shí)候經(jīng)常看到" #import <庫名>" 或者 “#import '類名.h'" .
(2)""表示從當(dāng)前項(xiàng)目路徑開始尋找文件捂人,如果找不到御雕,則到系統(tǒng)(項(xiàng)目)中配置的頭文件路徑去找;
(3)<>表示直接到系統(tǒng)(項(xiàng)目)中配置的頭文件路徑去找先慷。