天天看點

【iOS 開發】用 Carthage 擺脫 Bridging-Header.h

鑒于現在大部分 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 放到項目裡,然後使用的時候在頂部寫上 <code>import XXX</code>。如果這個架構是 AFNetworking 的話,我們可以在它的

releases

頁面下載下傳到 AFNetworking.framework.zip。

【iOS 開發】用 Carthage 擺脫 Bridging-Header.h

但更多像

SVProgressHUD

這樣的架構,你隻能找到源碼,并沒有現成的 framework 檔案給你用。

【iOS 開發】用 Carthage 擺脫 Bridging-Header.h

利用 Carthage 打包 framework

【iOS 開發】用 Carthage 擺脫 Bridging-Header.h

好在它支援了 Carthage。建立了一個檔案夾,裡面初始隻有一個 cartfile

【iOS 開發】用 Carthage 擺脫 Bridging-Header.h

cartfile 裡面随便寫了倆常用架構

【iOS 開發】用 Carthage 擺脫 Bridging-Header.h

在終端執行 <code>carthage update</code> 之後

現在我們可以直接把打包好的 framework 檔案複制到項目裡使用了,以後想用什麼架構都可以在這個 cartfile 裡面添加,在這個檔案夾裡取用 framework。

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

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