【iOS】Carthage的使用方法菲嘴,順帶CocoaPods

Carthage和CocoaPods都可以用來(lái)管理第三方框架饿自。

本文的目的是記錄一下Carthage的使用方法,不過(guò)為了全面一點(diǎn)龄坪,也加上了CocoaPods昭雌。

一、Carthage

Carthage對(duì)項(xiàng)目無(wú)侵入性健田,管理的依賴只需編譯一次烛卧,并且可以與CocoaPods并存。

注意:Carthage需要iOS 8+

1. 安裝carthage

1.1 安裝Homebrew

到下面這個(gè)網(wǎng)站安裝Homebrew

1

https://brew.sh/index_zh-cn

或者直接在終端輸入下面的指令

1

$ /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

1.2 更新Homebrew到最新版本

1

$ brew update

1.3 安裝Carthage

1

$ brew install carthage

1.4 查看Carthage版本號(hào)

查看版本的同時(shí)妓局,也可以驗(yàn)證是否安裝成功

1

$ carthage version

2. 使用carthage

2.1 終端cd到項(xiàng)目所在文件夾

2.2 創(chuàng)建Carthage文件Cartfile

1

$ touch cartfile

創(chuàng)建Cartfile

2.3 編輯Cartfile并保存(可以使用Sublime進(jìn)行編輯)

例如導(dǎo)入Alamofire总放,就在文件中寫(xiě)入github "Alamofire/Alamofire" ~> 4.7,如下圖所示好爬。

編輯Cartfile

2.4 開(kāi)始導(dǎo)入

1

$ carthage update --platform iOS

成功之后文件夾的結(jié)構(gòu)會(huì)變?yōu)橄聢D這樣局雄。

注意:如果build文件夾中沒(méi)有.framework文件,可以到Xcode的Preferences的Locations中存炮,做下圖這樣的設(shè)置哎榴。

2.5 把.framework文件導(dǎo)入項(xiàng)目

下面三張圖展示了添加過(guò)程。

項(xiàng)目名稱 --> TARGETS --> General --> Linked Frameworks and Libraries -> Add Other... --> 選擇Carthage/Build/iOS/Alamofire.framework文件 --> 導(dǎo)入成功

2.5.1

2.5.2

2.5.3

2.6 添加Run Script

參考下面兩張圖進(jìn)行操作僵蛛。

項(xiàng)目名稱 --> TARGETS --> General --> Build Phases --> 點(diǎn)擊左上角加號(hào) --> New Run Script Phase --> 點(diǎn)開(kāi)Run Script --> 在Shell下面的黑色框中填入/usr/local/bin/carthage copy-frameworks --> 點(diǎn)擊Input Files下面的加號(hào) --> 為framework添加訪問(wèn)路徑$(SRCROOT)/Carthage/Build/iOS/Alamofire.framework --> 完成

2.6.1

2.6.2

2.7 編譯項(xiàng)目,完成迎变!

Command + B編譯項(xiàng)目充尉,然后在需要的地方導(dǎo)入頭文件,開(kāi)始使用衣形!

二驼侠、CocoaPods

1. 安裝

1.1 更新gem到最新版本,終端中輸入:

1

$ sudo gem update —system

1.2 刪除自帶的ruby鏡像谆吴,終端輸入:

1

$ gem sources --remove https://rubygems.org/

1.3 添加鏡像倒源,終端輸入:

1

$ gem sources -a https://gems.ruby-china.org/

1.4 安裝CocoaPods,終端輸入:

1

$ sudo gem install cocoapods

1.5 配置CocoaPods句狼,這一步等待時(shí)間可能會(huì)有點(diǎn)長(zhǎng)笋熬。終端輸入:

1

$ pod setup

2. 使用

2.1 打開(kāi)終端,cd到項(xiàng)目路徑下腻菇。

2.2 生成Podfile文件胳螟,終端輸入:

1

$ pod init

2.3 編輯Podfile文件

在終端輸入

1

$ vim Podfile

然后點(diǎn)擊鍵盤(pán)上的 i 進(jìn)入編輯模式昔馋,在空白處寫(xiě)上你要用的第三方,例如pod ‘WHKit’糖耸,然后依次點(diǎn)擊鍵盤(pán)上的esc和冒號(hào)秘遏,輸入wq兩個(gè)字母,代表保存并退出嘉竟。

你也可以直接用外部編輯文字的軟件來(lái)寫(xiě)Podfile文件(推薦Sublime)

2.4 安裝邦危,終端輸入:

1

$ pod install

完成!

注意: 打開(kāi)項(xiàng)目的方式發(fā)生了改變舍扰,以后需要雙擊.xcworkspace來(lái)打開(kāi)項(xiàng)目倦蚪。

3. 補(bǔ)充

3.1 如何用雙引號(hào)的方式導(dǎo)入第三方

打開(kāi)項(xiàng)目之后就可以直接使用WHKit了,現(xiàn)在可以#import 或#import 妥粟,但是卻不能#import “WHKit.h”审丘。

解決這個(gè)問(wèn)題的辦法是在工程的Build Settings搜索User header search paths,然后在User header search paths中添加$(SRCROOT)并選擇recursive勾给。

3.2 如果還想添加其他的第三方滩报,只要在Podfile里面接著添加,終端再執(zhí)行pod install播急。

3.3 第三方庫(kù)一般都有人在維護(hù)升級(jí)脓钾,我們需要隔斷時(shí)間就更新一下工程中第三方庫(kù)的版本。只需要終端輸入命令pod update桩警。

3.4 如果遇到pod install或者pod update慢的問(wèn)題

原因在于當(dāng)執(zhí)行以上兩個(gè)命令的時(shí)候會(huì)升級(jí)CocoaPods的spec倉(cāng)庫(kù)可训,加一個(gè)參數(shù)可以省略這一步,速度就會(huì)提升不少捶枢。命令如下:

1

2

$ pod install --verbose --no-repo-update

$ pod update --verbose --no-repo-update

3.5 當(dāng)我們需要去掉某個(gè)第三方庫(kù)時(shí)

只需要在Podfile刪除該引入該庫(kù)的語(yǔ)句握截,然后執(zhí)行pod update或者pod install。

3.6 刪除項(xiàng)目中的cocoapods

把項(xiàng)目文件中多出來(lái)的文件都刪掉就可以了烂叔,恢復(fù)點(diǎn)擊Test.xcodeproj的方式來(lái)啟動(dòng)程序谨胞。

不過(guò)為了項(xiàng)目正常運(yùn)行,你需要手動(dòng)導(dǎo)入已經(jīng)使用的第三方蒜鸡。

3.7 升級(jí)CocoaPods版本

命令和安裝CocoaPods的命令一樣:

1

$ sudo gem install cocoapods

如果老版本升級(jí)cocoapods的時(shí)候提示Operation not permitted - /usr/bin/xcodeproj胯努,改用命令:

1

$ sudo gem install -n /usr/local/bin cocoapods --pre

3.8 卸載CocoaPods

1

$ sudo gem uninstall cocoapods

當(dāng)出現(xiàn)Successfully uninstalled cocoapods字樣就代表已經(jīng)成功卸載。

3.9 升級(jí)MacOS導(dǎo)致cocoapods不能正常使用

如果出現(xiàn)這種情況逢防,首先升級(jí)ruby:

1

$ sudo gem update --system

然后重新安裝:

1

$ sudo gem install -n /usr/local/bin cocoapods

后記

以上就是Carthage和CocoaPods的使用方法叶沛。

?

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市忘朝,隨后出現(xiàn)的幾起案子灰署,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,858評(píng)論 6 508
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件氓侧,死亡現(xiàn)場(chǎng)離奇詭異脊另,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)约巷,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,372評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門(mén)偎痛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人独郎,你說(shuō)我怎么就攤上這事踩麦。” “怎么了氓癌?”我有些...
    開(kāi)封第一講書(shū)人閱讀 165,282評(píng)論 0 356
  • 文/不壞的土叔 我叫張陵谓谦,是天一觀的道長(zhǎng)。 經(jīng)常有香客問(wèn)我贪婉,道長(zhǎng)反粥,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,842評(píng)論 1 295
  • 正文 為了忘掉前任疲迂,我火速辦了婚禮才顿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘尤蒿。我一直安慰自己郑气,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,857評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布腰池。 她就那樣靜靜地躺著尾组,像睡著了一般。 火紅的嫁衣襯著肌膚如雪示弓。 梳的紋絲不亂的頭發(fā)上讳侨,一...
    開(kāi)封第一講書(shū)人閱讀 51,679評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音奏属,去河邊找鬼爷耀。 笑死,一個(gè)胖子當(dāng)著我的面吹牛拍皮,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播跑杭,決...
    沈念sama閱讀 40,406評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼铆帽,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了德谅?” 一聲冷哼從身側(cè)響起爹橱,我...
    開(kāi)封第一講書(shū)人閱讀 39,311評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎窄做,沒(méi)想到半個(gè)月后愧驱,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體慰技,經(jīng)...
    沈念sama閱讀 45,767評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,945評(píng)論 3 336
  • 正文 我和宋清朗相戀三年组砚,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了吻商。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 40,090評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡糟红,死狀恐怖艾帐,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情盆偿,我是刑警寧澤柒爸,帶...
    沈念sama閱讀 35,785評(píng)論 5 346
  • 正文 年R本政府宣布,位于F島的核電站事扭,受9級(jí)特大地震影響捎稚,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜求橄,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,420評(píng)論 3 331
  • 文/蒙蒙 一今野、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧谈撒,春花似錦腥泥、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,988評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)。三九已至溯乒,卻和暖如春夹厌,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背裆悄。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 33,101評(píng)論 1 271
  • 我被黑心中介騙來(lái)泰國(guó)打工矛纹, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人光稼。 一個(gè)月前我還...
    沈念sama閱讀 48,298評(píng)論 3 372
  • 正文 我出身青樓或南,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親艾君。 傳聞我的和親對(duì)象是個(gè)殘疾皇子采够,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,033評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容

  • 什么是cocoapods CocoaPods是一個(gè)用來(lái)幫助我們管理第三方依賴庫(kù)的工具。它可以解決庫(kù)與庫(kù)之間的依賴關(guān)...
    VV木公子閱讀 7,071評(píng)論 0 7
  • 一. CocoaPods的介紹 什么是CocoaPods冰垄?CocoaPods是一個(gè)負(fù)責(zé)管理iOS項(xiàng)目中第三方開(kāi)源庫(kù)...
    輝712閱讀 3,930評(píng)論 0 7
  • 命運(yùn)就像一座天橋蹬癌,交織的點(diǎn)只有一個(gè),一旦錯(cuò)過(guò),就會(huì)漸行漸遠(yuǎn)逝薪。而我們現(xiàn)在就在交織的點(diǎn)上隅要,我希望時(shí)間一直停留在這個(gè)點(diǎn)上...
    我的名字里有韓閱讀 634評(píng)論 0 1
  • 簡(jiǎn)悅直播教練恬源閱讀 175評(píng)論 2 4
  • 江歌案在自媒體引起喧然大波步清。做為自媒體一員,第一時(shí)間我就知道感局,這將又是一場(chǎng)寫(xiě)作和辯論的焦點(diǎn)尼啡。 寫(xiě)自媒體文章,我一直...
    落雪小屋閱讀 1,314評(píng)論 10 63