如何在 Swift 項(xiàng)目中使用 OC 的第三方開源庫(kù)

目前需求##

作為一名iOS開發(fā)者,開發(fā)app的時(shí)候常常需要使用github上的第三方庫(kù)等,但由于歷史原因,很多的優(yōu)秀資源目前還都是用Objective-C編寫的。本文的目的是幫助swift項(xiàng)目無縫享用OC的類庫(kù)。

使用CocoaPods##

對(duì)CocoPods陌生的請(qǐng)點(diǎn)擊這里。
例如,我們想使用MJRefresh
類庫(kù),在項(xiàng)目的Podfile中加入一行:pod 'MJRefresh'
然后執(zhí)行 pod install
命令,等安裝完成后,打開項(xiàng)目的 xcworkspace 文件。

通過The Bridging Header進(jìn)行橋接##

蘋果官方推薦通過header file文件來讓Swift項(xiàng)目使用OC。

  • 在Project Navigator中右鍵點(diǎn)擊你的項(xiàng)目名,然后選擇"new file", 選擇source選項(xiàng)中的Header File,然后定義一個(gè)名稱。我在此處是 YSH-Bridging-Header.h 。(盡量采用官方推薦的命名方式,即 項(xiàng)目名-Briding-Header)

  • 生成之后文件中有默認(rèn)的模板內(nèi)容,我們要做的是在#endif上面導(dǎo)入OC庫(kù)對(duì)應(yīng)的.h文件(.h文件可以在Pods項(xiàng)目中的Pods文件夾下查看,這個(gè).h文件中包含了該第三方庫(kù)中的其他頭文件)。

//
//  YSH-Bridging-Header.h
//  Swift Project 10-PULL TO REFRESH TABLE VIEW
//
//  Created by 楊上海 on 2017/4/12.
//  Copyright ? 2017年 yangshanghai. All rights reserved.
//

#ifndef YSH_Bridging_Header_h
#define YSH_Bridging_Header_h

#import "MJRefresh.h"

#endif /* YSH_Bridging_Header_h */

Building Settings選項(xiàng)卡##

選中項(xiàng)目名,選擇Building Settings 選項(xiàng)卡(注意選中左邊的 All),直接搜索關(guān)鍵詞 bridging,在 Objective-C Bridging Header 右邊對(duì)應(yīng)的方框中雙擊,復(fù)制之前的 YSH-Bridging-Header.h名稱并粘貼,如圖:

Building Setting選項(xiàng)卡

不需要再在項(xiàng)目中導(dǎo)入頭文件,直接在自己的swift項(xiàng)目里試試,看看是不是已經(jīng)可以調(diào)用第三方OC庫(kù)的函數(shù)了?

如果成功的話,恭喜你,可以繼續(xù)享用Swift了。

參考鏈接
Apple's Documentation
Using Objective-C CocoaPods libraries with Swift

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容