做爲iOS工程師,必定或多或少用過一些第三方庫,好比Alamofire,Kingfisher仍是SnapKit。git
以前我一直用的是CocoaPods,它是一個很是流行的依賴管理器,簡化了第三方庫集成到本身項目裏的過程。甚至於谷歌也在用它來分發各類iOS的SDK。可是CocoaPods的缺點也很明顯,就是侵入性太強,它會新建立一個Xcode項目,其中包含每一個單獨pod的目標以及包含工做區。而後你必須使用工做區,你的項目創建在了CocoaPods的可用之上,並且也會有一個額外的構建設置。github
一樣,Apple也發佈了本身的包管理工具-Swift Package Manager,以即可以在swift3.0及更高的版本共享和分發軟件包,也就是說只是面向swift。swift
除了以上說的兩個工具,還有一個很是簡單的包管理工具,那就是今天要說的Carthage了,這個工具其實也是發佈了挺長時間了,在Github上的星星也有12.3K之多,它是有Github的開發者建立,用swift語言寫的那麼它有什麼優點呢?框架
有兩種安裝方式:工具
cd 項目根目錄
,touch Cartfile
;open -a Xcode Cartfile
,用Xcode打開Cartfile文件;github "Alamofire/Alamofire" == 4.5
,其中== 4.5
表示使用4.5版本,若是是~> 4.5
,表示使用版本大於4.5且小於5.0的最新版本,若是是>=4.5
,表示使用4.5或者更高版本;不指明版本號的話,會使用最新的版本;carthage update --platform iOS
,更新,並編譯爲二進制文件;該操做會在項目根目錄下建立 Carthage/Checkouts 文件夾,Checkouts放置的是從GitHub下載的依賴源碼,Build文件夾放置編譯後的二進制文件;(注:單獨更新某一個庫:carthage update Alamofire --platform iOS
).framework
文件至項目設置界面的General
選項卡的Linked Frameworks and Libraries
中;Build Phases
選項卡,點擊+
按鈕,選擇New Run Script Phase
來添加自定腳本:/usr/local/bin/carthage copy-frameworks
;Input Files
點擊+
來添加依賴的路徑:$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework
;以後,就能夠愉快的加班寫代碼了O(∩_∩)O哈哈~ui