現在 Github 上絕大多數的庫都是用 Objective-C 語言寫的,當我們使用 Swift 進行開發的時候呢,無論是用 CocoaPods 還是手動把庫集成到自己的項目中,一開始都是不能直接使用的。
需要用到 Bridging-Header.h 文件
比如在這個 Swift 項目中,我手動加入了 OLImage 這個用OC寫成的庫,并且添加了所有需要的 Framework,但是代碼中輸入“OLImage”卻悲傷地發現 Xcode 沒有自動給你補全代碼——第三方庫引入未成功。
解決方案:
在 YOUR PROJECT NAME-Bridging-Header.h 文件中,import 所有 OLImage那個庫用到的頭文件。至于有哪些文件,去庫里面一個一個文件點開看就可以了。
可是 YOUR PROJECT NAME-Bridging-Header.h 是怎么來的呢 ?
當你在 Swift 工程中加入 OC 文件,Xcode 一般會自動檢測到這一點,并且詢問你是否需要添加這個文件,而如果 Xcode 沒有給你這個提示,你可以手動觸發它:
添加文件
選擇 Header File
然而僅僅是這樣,不管你在 Header File 里面 import 多少內容,都沒有用,因為你添加進來的這個 .h 文件并不會被編譯。
這個時候,進入 YourTarget -> Build Settings -> Swift Compiler-Code Generation 這個設置項里面,把你的 .h 文件的【絕對路徑】輸入到 Objective-C Bridging Header 里面就可以了。
(如何最快獲取絕對路徑:直接把某個文件或文件夾,拖動到文本輸入框,路徑會自動顯示出來)