鑑於現在大部分 iOS 常用庫都還是用 OC 實現的,我們常常需要用到一個叫做 Bridging-Header.h 的東西來在 Swift 專案中使用 OC 實現的框架,當然前提是在這個專案裡我們不能或者不想使用 Cocoapods 或 Carthage。
在 iOS 8 之後,我們可以使用 framework 了,相比於麻煩地操作一遍一下步驟:
- 建立一個 Bridging-Header.h 檔案
- 在 target(還要注意不能是 project)的 Build Settings 找到 Objective-C Bridging Header 項
- 然後在裡面填上路徑,還要注意一下 絕對/相對 路徑
我更願意直接把 xxx.framework 放到專案裡,然後使用的時候在頂部寫上 import XXX
。如果這個框架是 AFNetworking 的話,我們可以在它的 releases 頁面下載到 AFNetworking.framework.zip。
但更多像 SVProgressHUD 這樣的框架,你只能找到原始碼,並沒有現成的 framework 檔案給你用。
利用 Carthage 打包 framework
好在它支援了 Carthage。建立了一個資料夾,裡面初始只有一個 cartfile
cartfile 裡面隨便寫了倆常用框架
在終端執行 carthage update
之後
現在我們可以直接把打包好的 framework 檔案複製到專案裡使用了,以後想用什麼框架都可以在這個 cartfile 裡面新增,在這個資料夾裡取用 framework。
說白了就是一個利用 Carthage 找 framework 檔案的方法。
需要注意的是,如果你想通過自行編譯原始碼,然後在 Products 資料夾裡取用 framework,可能這個檔案的架構會有問題。
掘金技術徵文:gold.xitu.io/post/58522d…