目前需求
作為一名iOS開發者,開發app的時候常常需要使用github上的第三方庫等,但由于歷史原因,很多的優秀資源目前還都是用Objective-C編寫的。本文的目的是幫助swift項目無縫享用OC的類庫。
使用CocoaPods
對CocoPods陌生的請點擊這里。
例如,我們想使用 MJRefresh
類庫,
在項目的Podfile中加入一行:
pod 'MJRefresh'
然后執行 pod install
命令,等安裝完成后,打開項目的 xcworkspace 文件。
通過The Bridging Header進行橋接
蘋果官方推薦通過header file
文件來讓Swift項目使用OC。
在Project Navigator中右鍵點擊你的項目名,然后選擇"new file", 選擇source選項中的
Header File
,然后定義一個名稱。我在此處是Yoper-Bridging-Header.h
。(盡量采用官方推薦的命名方式,即 項目名-Briding-Header)生成之后文件中有默認的模板內容,我們要做的是在#endif上面導入OC庫對應的.h文件(.h文件可以在Pods項目中的Pods文件夾下查看,這個.h文件中包含了該第三方庫中的其他頭文件)。
Building Settings選項卡
選中項目名,選擇 Building Settings 選項卡(注意選中左邊的 All),直接搜索關鍵詞 bridging,在 Objective-C Bridging Header 右邊對應的方框中雙擊,復制之前的 Yoper-Bridging-Header.h
名稱并粘貼,如圖:
不需要再在項目中導入頭文件,直接在自己的swift項目里試試,看看是不是已經可以調用第三方OC庫的函數了?
如果成功的話,恭喜你,可以繼續享用Swift了。
參考鏈接
Apple's Documentation
Using Objective-C CocoaPods libraries with Swift