iOS開發(fā)中有時候不可避免的會使用到OC和Swift的混編,這時候就需要建立橋接文件連接不同語言的類庫
最近項目中需要用到圖表功能,網(wǎng)上發(fā)現(xiàn)一款強大的圖表第三方庫Charts,但是是用Swift寫的,如果自己的項目是OC寫的導入Swift項目就需要用到橋接文件了,記錄下嵌入過程的一些坑
首先GitHub下載SDK后導入項目

接下來將Charts導入項目中,右鍵-show in Finder,打開自己項目的目錄

將Chart文件復制到項目目錄下(與.xcodeproj同級)

將charts項目添加到自己的項目中

接下來導入庫 Target-General - Embedded Binaries

項目導入了,由于自己的項目是OC,Charts是Swift,想調(diào)用Charts的API,必須通過橋接橋接,創(chuàng)建橋接文件這里有兩種方式:
一、系統(tǒng)默認方式創(chuàng)建
每個項目第一次創(chuàng)建不同語言的文件,Xcode會自動提示是否新建橋接文件?,F(xiàn)在新建一個Swift文件,名字可以任意起,反正是用不到的,我們只是要用生成的橋接文件

文件建好之后會提示是否新建橋接文件

選擇Create Bridging Header,此時你會發(fā)現(xiàn)項目會出現(xiàn)一個 項目名-Bridging-Header.h的文件,這個就是橋接文件了,自己在橋接文件中引用 Charts

使用之前的Charts版本還需要在BuildSetting里做一些設(shè)置,但是現(xiàn)在我升級了Xcode8發(fā)現(xiàn)完成上面的操作就可以了,不需要再做任何設(shè)置,在ViewController里引入文件試試

注意上圖中1那個文件,項目中你是看不到的,這個文件是生成橋接頭文件自動生成的,名字是 項目名-Swift.h(不要自己去手動創(chuàng)建) ?兩個文件同時引用后,build一下,應該是沒問題的,導入成功!
二、自己創(chuàng)建橋接頭文件
上面的方式是項目第一次創(chuàng)建Swift文件時才會提示我們是否創(chuàng)建橋接頭文件,但是如果一不小心點錯了取消或者不創(chuàng)建,豈不是悲劇了(>﹏<) ,而且如果你的項目文件是中文的,在你import上面兩個文件的時候會感覺到很怪異,而且后面你會發(fā)現(xiàn)經(jīng)常報錯,顯示找不到橋接頭文件,所以當出現(xiàn)這些情況下,就需要我們自己創(chuàng)建,command+N 創(chuàng)建一個普通的頭文件,

創(chuàng)建完成后,引入Swift庫文件

接下來把系統(tǒng)創(chuàng)建的橋接頭文件用我們自己創(chuàng)建的文件替換掉

同樣我們也可以修改自動生成的空間文件,就是上面我們導入時表示1那個文件

至此兩個文件都進行自定義修改,回到剛才我們引用兩個文件的控制器,修改文件引用

此處會有一個報錯,顯示文件找不到,沒關(guān)系,clean-build,然后你會驚奇的發(fā)現(xiàn)Build Succeed,一切都是那么美好!O(∩_∩)O
