Carthage最佳實(shí)踐

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則包含下載的第三方庫源文件(如圖)

Carthage.jpg

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

Build.jpg

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


Che-byMall_xcodeproj.jpg

此時(shí)編譯項(xiàng)目,會(huì)出現(xiàn)錯(cuò)誤提示,還需做做一些配置;

1.點(diǎn)擊上圖“+”號(hào),選擇New Run Script Phase,效果如下:

Che-byMall_xcodeproj.jpg

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)庫的源碼。

參考鏈接:
1.http://www.cnblogs.com/lzrabbit/p/4032515.html

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • Android 自定義View的各種姿勢(shì)1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 178,810評(píng)論 25 709
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 15,083評(píng)論 4 61
  • Carthage v0.26.2(原文鏈接) Carthage的目標(biāo)是用最簡(jiǎn)單的方式來管理Cocoa第三方框架。 ...
    iOSLee閱讀 3,837評(píng)論 0 7
  • 又是這樣的一天。 沒有驚喜,沒有特別,平淡無味,也許像其他那么多個(gè)日夜一樣,?在很多年后,或者明天就會(huì)被遺忘。 這...
    小米蟲兒閱讀 292評(píng)論 0 0
  • 開學(xué)正式上課已經(jīng)近一周,班主任們幾乎都是以跑步的方式在走路,備課、上課,作業(yè)、小條,談心、交流,表格、統(tǒng)計(jì) …...
    娜木翰閱讀 693評(píng)論 4 5

友情鏈接更多精彩內(nèi)容