Carthage是去中心化的第三方包管理工具,和cocoapods有明顯區(qū)別,兩者各有優(yōu)缺點(diǎn),須視情況使用。Carthage將第三方包及其依賴下載并編譯成動(dòng)態(tài)庫的形式,僅此而已,有著靈活,低耦合的特點(diǎn)。cocoapods則在使用上簡(jiǎn)單,但因?yàn)橹行幕牟僮鞣绞?,需要依靠服?wù)器,服務(wù)器出現(xiàn)問題之后沒法繼續(xù)使用更新。
1.安裝Homebrew
Macos系統(tǒng)普遍使用Homebrew安裝Carthage。Homebrew時(shí)Macos的軟件包管理工具(當(dāng)然還有其他的,例如皮皮蝦),類似于linux系統(tǒng)上的yum,apt-get等,mac上默認(rèn)不安裝Homebrew,需要先自己手動(dòng)安裝。
Homebrew安裝很簡(jiǎn)單,終端輸入如下命令就行:
ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
注:以上命令如果出錯(cuò),可能需要梯子
2.安裝Carthag(打開終端,輸入如下指令)
1)終端方式:
brew update
brew install carthage
2)pkg方式:
除了使用終端安裝,也可以下載最新版Carthage.pkg來安裝
3.Carthag使用
1)通過終端進(jìn)入項(xiàng)目目錄
$ cd /Users/FYTech/Desktop/MyProject
2)創(chuàng)建一個(gè)名為“Cartfile”的文件
$ touch Cartfile
3)使用vim 或者xcode打開cartfile文件(使用其他文本編輯器也行)
vim打開
$ vim Cartfile
xcode打開
$ open -a Xcode Cartfile
4)打開后按以下格式添加第三方庫
github "Alamofire/Alamofire" ~> 3.0
注:
~> 3.0 表示使用版本3.0以上但是低于4.0的最新版本,如3.5, 3.9
== 3.0 表示使用3.0版本
= 3.0表示使用3.0或更高的版本
沒有指明版本號(hào),會(huì)自動(dòng)使用最新的版本
5)保存之后,輸入以下命令,開始開始下載并編譯第三方庫
$ carthage update --platform iOS
執(zhí)行完成之后命令之后,項(xiàng)目目錄會(huì)出現(xiàn)一個(gè)“Carthage”文件夾,文件夾下有如下兩個(gè)子文件夾,“Build”文件夾下包含第三方庫對(duì)應(yīng)的.framwork,Checkouts則包含下載的第三方庫源文件(如圖)

使用上述命令時(shí),如果不加--platform iOS,默認(rèn)會(huì)同時(shí)編譯四種平臺(tái)的.framwork(效果如圖):

6)在項(xiàng)目中引入需要的第三方庫對(duì)應(yīng)的framework文件(需要做一些配置)
引入方式和引入一般的framework方式差不多,將Build文件夾下對(duì)應(yīng)的frameworkwork拖到對(duì)應(yīng)區(qū)域即可,如圖:

此時(shí)編譯項(xiàng)目,會(huì)出現(xiàn)錯(cuò)誤提示,還需做做一些配置;
1.點(diǎn)擊上圖“+”號(hào),選擇New Run Script Phase,效果如下:

2.新版本之后,上圖“1”對(duì)應(yīng)的區(qū)域已經(jīng)不需要再進(jìn)行配置了,只需要對(duì)“2”進(jìn)行編輯就行。完成之后,編譯項(xiàng)目,如果出錯(cuò),可以按照上圖添加“1”試試。
至此,使用Carthage的方法已經(jīng)介紹完成。
總結(jié):使用Carthage管理第三方庫,因?yàn)橹苯右玫氖?framework文件,項(xiàng)目中需求變化需要修改第三方庫時(shí),可以通過以下兩種方式:1)添加對(duì)應(yīng)庫的Extention 2)項(xiàng)目中直接使用對(duì)應(yīng)庫的源碼。