用 Carthage 擺脫 Bridging-Header.h | 掘金技術徵文

KyXu發表於2016-12-15

鑑於現在大部分 iOS 常用庫都還是用 OC 實現的,我們常常需要用到一個叫做 Bridging-Header.h 的東西來在 Swift 專案中使用 OC 實現的框架,當然前提是在這個專案裡我們不能或者不想使用 Cocoapods 或 Carthage

在 iOS 8 之後,我們可以使用 framework 了,相比於麻煩地操作一遍一下步驟:

  1. 建立一個 Bridging-Header.h 檔案
  2. 在 target(還要注意不能是 project)的 Build Settings 找到 Objective-C Bridging Header 項
  3. 然後在裡面填上路徑,還要注意一下 絕對/相對 路徑

我更願意直接把 xxx.framework 放到專案裡,然後使用的時候在頂部寫上 import XXX。如果這個框架是 AFNetworking 的話,我們可以在它的 releases 頁面下載到 AFNetworking.framework.zip

用 Carthage 擺脫 Bridging-Header.h | 掘金技術徵文

但更多像 SVProgressHUD 這樣的框架,你只能找到原始碼,並沒有現成的 framework 檔案給你用。
用 Carthage 擺脫 Bridging-Header.h | 掘金技術徵文

利用 Carthage 打包 framework

用 Carthage 擺脫 Bridging-Header.h | 掘金技術徵文

好在它支援了 Carthage。建立了一個資料夾,裡面初始只有一個 cartfile
用 Carthage 擺脫 Bridging-Header.h | 掘金技術徵文

cartfile 裡面隨便寫了倆常用框架
用 Carthage 擺脫 Bridging-Header.h | 掘金技術徵文

在終端執行 carthage update 之後
用 Carthage 擺脫 Bridging-Header.h | 掘金技術徵文

現在我們可以直接把打包好的 framework 檔案複製到專案裡使用了,以後想用什麼框架都可以在這個 cartfile 裡面新增,在這個資料夾裡取用 framework。

說白了就是一個利用 Carthage 找 framework 檔案的方法。

需要注意的是,如果你想通過自行編譯原始碼,然後在 Products 資料夾裡取用 framework,可能這個檔案的架構會有問題。

用 Carthage 擺脫 Bridging-Header.h | 掘金技術徵文

用 Carthage 擺脫 Bridging-Header.h | 掘金技術徵文

用 Carthage 擺脫 Bridging-Header.h | 掘金技術徵文

掘金技術徵文:gold.xitu.io/post/58522d…

相關文章