iOS-Carthage 安裝以及使用
阿新 • • 發佈:2018-12-24
Carthage 簡介
- Carthage 類似於 CocoaPods,為使用者管理第三方框架和依賴,但不會自動修改專案檔案和生成配置
- Carthage 是去中心化的依賴管理工具,安裝依賴時不需要去中心倉庫獲取 CocoaPods 所有依賴的索引,節省時間
- 對專案無侵入性,Carthage 設計上也比較簡單,利用的都是 Xcode 自身的功能,開發者在建立依賴時,相比 CocoaPods 也簡單許多
- Carthage 管理的依賴只需編譯一次,專案乾淨編譯時,不會再去重新編譯依賴,節省時間
- 自動將第三方框架程式設計為 Dynamic framework( 動態庫 )
- 與 CocoaPods 無縫整合,一個專案能同時擁有 CocoaPods 和 Carthage
- 缺點:
- 僅支援 iOS8 +
- 它只支援框架,所以不能用來針對 iOS 8 以前的系統版本進行開發
- 支援的 Carthage 安裝的第三方框架和依賴不如 CocoaPods 豐富
- 無法在 Xcode 裡定位到原始碼
- 安裝包的大小比用CocoaPods安裝的包大
安裝 Homebrew
可以使用 Homebrew 來安裝 Carthage
1、安裝 Homebrew
將以上命令貼上至終端
指令碼會在執行前暫停,並說明將它將做什麼。高階安裝選項在 這裡(需要OSX 10.5+)
$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install) "
安裝完 homebrew 後執行下面命令,獲取最新版本【可選】
$ brew update
注意:如果遇到 Error: The /usr/local directory is not writable.錯誤,就執行以下命令 sudo chown -R $(whoami):admin /usr/local,再更新。
其他 brew 命令
brew install git // 使用brew安裝軟體
brew uninstall wget // 使用brew解除安裝軟體
brew search /wge*/ // 使用brew查詢軟體,其中/wge*/是個正則表示式,需要包含在/中
brew list // 列出已安裝的軟體
brew home // 用瀏覽器開啟brew的官方網站
brew info // 顯示軟體資訊
brew deps // 顯示包依賴
2、安裝 Carthage
$ brew install carthage
安裝 Carthage 之後,可檢視版本
carthage version // 目前的版本號為:0.20.1
3、使用 Carthage 安裝依賴
進入專案所在資料夾
cd ~/路徑/專案資料夾
建立一個空的 Carthage 檔案 Cartfile
touch Cartfile
使用 Xcode 開啟 Cartfile 檔案
open -a Xcode Cartfile
編輯 Cartfile【可手動開啟進行編輯】
github "Alamofire/Alamofire" == 4.4.0
執行更新命令
$ carthage update --platform iOS
更新成功後,專案資料夾中會多出三個檔案
- cartfile
- Cartfile.resolved
- Carthage/
- Build/
- Checkouts/
Carthage 會 clone 檔案中對應的 git 第三方庫,把每一個第三方庫編譯成二進位制檔案的 framework 檔案。
其中 “–platform iOS” 命令是可選的,作用是保證只為 iOS 編譯framework,如果不指定平臺,會為全平臺編譯 framework 檔案。如果想要了解更多的命令,可以執行 carthage help update檢視。
4、新增 Frameworks 到專案中
- 01 - 點選”專案名稱”–> “TARGETS” –> “General”,在最底部找到 “Linked Frameworks and Libraries”
- 02 - 點選 + 號,選擇左下角 Add Other… 按鈕,選擇專案下 Carthage/Build/iOS/Alamofire.framework 檔案,點選 Open 加入到專案中
目的是告訴Xcode連結你的app到這個 framework,允許你在程式碼中使用
- 03 - 下一步選擇選單上的 Build Phases,點選左上角 + 號新增一個新的 Run Script,並新增以下命令:
/usr/local/bin/carthage copy-frameworks
- 04 - 點選 Input Files 下面的 + 號為每一個 framework 新增訪問路徑
carthage copy-frameworks 命令剔除了額外的框架
$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
- 05 - Import 框架名到控制器,Command + B 編譯專案,如果成功,就可以使用了
import Alamofire