Carthage-iOS的依賴管理工具

Carthage是什麼?它的優點在哪?

做爲iOS工程師,必定或多或少用過一些第三方庫,好比AlamofireKingfisher仍是SnapKitgit

以前我一直用的是CocoaPods,它是一個很是流行的依賴管理器,簡化了第三方庫集成到本身項目裏的過程。甚至於谷歌也在用它來分發各類iOS的SDK。可是CocoaPods的缺點也很明顯,就是侵入性太強,它會新建立一個Xcode項目,其中包含每一個單獨pod的目標以及包含工做區。而後你必須使用工做區,你的項目創建在了CocoaPods的可用之上,並且也會有一個額外的構建設置。github

一樣,Apple也發佈了本身的包管理工具-Swift Package Manager,以即可以在swift3.0及更高的版本共享和分發軟件包,也就是說只是面向swift。swift

除了以上說的兩個工具,還有一個很是簡單的包管理工具,那就是今天要說的Carthage了,這個工具其實也是發佈了挺長時間了,在Github上的星星也有12.3K之多,它是有Github的開發者建立,用swift語言寫的那麼它有什麼優點呢?框架

  1. Carthage不會修改你的項目;
  2. Carthage更新時,不須要訪問中心倉庫來獲取配置;
  3. Carthage使用的是去中心化的方式管理庫,讓開發者更多的精力放在本身的代碼上;
  4. Carthage能夠很方便的添加本身的框架;

Carthage是安裝

有兩種安裝方式:工具

  1. 在Github上下載Carthage的Release包進行安裝;
  2. 使用Homebrew安裝:brew install carthage

Carthage的使用

  1. 打開終端,cd 項目根目錄touch Cartfile
  2. 執行 open -a Xcode Cartfile,用Xcode打開Cartfile文件;
  3. 編寫依賴的第三方庫,如:github "Alamofire/Alamofire" == 4.5,其中== 4.5表示使用4.5版本,若是是~> 4.5,表示使用版本大於4.5且小於5.0的最新版本,若是是>=4.5,表示使用4.5或者更高版本;不指明版本號的話,會使用最新的版本;
  4. 執行carthage update --platform iOS ,更新,並編譯爲二進制文件;該操做會在項目根目錄下建立 Carthage/Checkouts 文件夾,Checkouts放置的是從GitHub下載的依賴源碼,Build文件夾放置編譯後的二進制文件;(注:單獨更新某一個庫:carthage update Alamofire --platform iOS
  5. 拖拽文件夾中的.framework文件至項目設置界面的General選項卡的Linked Frameworks and Libraries中;
  6. 在項目設置界面的Build Phases選項卡,點擊+按鈕,選擇New Run Script Phase來添加自定腳本:/usr/local/bin/carthage copy-frameworks
  7. 而後在下面的Input Files點擊+來添加依賴的路徑:$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework

以後,就能夠愉快的加班寫代碼了O(∩_∩)O哈哈~ui

相關文章
相關標籤/搜索