最新版CocoaPods的安裝和使用以及版本升級(jí)遇到的問(wèn)題

一放航、CocoaPods是什么艰管?

CocoaPods是一個(gè)負(fù)責(zé)管理iOS項(xiàng)目中第三方開(kāi)源庫(kù)的工具途乃。CocoaPods的項(xiàng)目源碼在Github上管理乖仇。該項(xiàng)目開(kāi)始于2011年8月12日娘赴,在這兩年多的時(shí)間里规哲,它持續(xù)保持活躍更新。開(kāi)發(fā)iOS項(xiàng)目不可避免地要使用第三方開(kāi)源庫(kù)诽表,CocoaPods的出現(xiàn)使得我們可以節(jié)省設(shè)置和更新第三方開(kāi)源庫(kù)的時(shí)間唉锌,在iOS開(kāi)發(fā)中經(jīng)常會(huì)用到第三方庫(kù)如AFNetworking,ASIHttpRequest等隅肥,在使用第三方庫(kù)時(shí),你除了要導(dǎo)數(shù)源碼外袄简,但是腥放,集成這些依賴庫(kù)需要我們手動(dòng)去配置,還有當(dāng)這些第三方庫(kù)發(fā)生了更新痘番,還需要手動(dòng)去更新項(xiàng)目捉片。這就顯得非常麻煩。有麻煩自然有解決辦法汞舱,CocoaPods就是為了解決這個(gè)問(wèn)題而生的伍纫。通過(guò)CocoaPods,我們可以將第三方的依賴庫(kù)統(tǒng)一管理起來(lái)昂芜,配置和更新只需要通過(guò)簡(jiǎn)單的幾行命令即可完成莹规。

二、CocoaPods的下載及安裝

mac系統(tǒng)已經(jīng)默認(rèn)安裝好Ruby環(huán)境泌神,如果你不確定自己系統(tǒng)中是否有Ruby的良漱,可以在終端中輸入命令行:ruby -v查看當(dāng)前ruby版本。如圖:

確定以后欢际,接下來(lái)就可以下載和安裝CocoaPods母市,只需要一行命令。在Terminator(也就是終端)中輸入以下命令:

sudo gem install cocoapods

但是损趋,在終端中敲入這個(gè)命令之后患久,會(huì)發(fā)現(xiàn)半天沒(méi)有任何反應(yīng)。原因是那堵墻阻擋了cocoapods.org浑槽。

解決辦法是蒋失,我們可以用阿里云的Ruby鏡像來(lái)訪問(wèn)cocoapods。按照下面的順序在終端中敲入依次敲入命令:

首先桐玻,檢查你的ruby源:

$gem sources -l

默認(rèn)情況下篙挽,終端應(yīng)該返回如下信息:

*** CURRENT SOURCES ***

https://rubygems.org/

當(dāng)然這個(gè)源在墻內(nèi)是訪問(wèn)不到的。因此我們需要尋找一個(gè)可以在國(guó)內(nèi)訪問(wèn)到的鏡像镊靴。目前筆者找到的是http://rubygems-china.oss.aliyuncs.com這個(gè)阿里云的鏡像铣卡,當(dāng)然隨著時(shí)間的推移,未來(lái)這個(gè)鏡像也有可能無(wú)法訪問(wèn)了偏竟,到時(shí)候就只能重新尋找了算行。

確認(rèn)鏡像可用后,現(xiàn)在就要開(kāi)始修改ruby源了苫耸。首先執(zhí)行以下命令刪除原來(lái)的ruby源:

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

執(zhí)行命令后可在終端看見(jiàn)以下信息:

https://rubygems.org/ removed from sources

然后下一步添加你找到的可用的鏡像源:

$gem sources -a http://rubygems-china.oss.aliyuncs.com

此時(shí)如果你再執(zhí)行g(shù)em sources -l命令,就能看到當(dāng)前鏡像源里只有阿里云這一個(gè)了儡陨。此時(shí)你就可以重新執(zhí)行這一段開(kāi)頭的那句命令了:

$sudo gem install cocoapods

如果一切正常褪子,你應(yīng)該能看到一段安裝進(jìn)度量淌,以及最后有一條信息:

3 gems installed

確認(rèn)看見(jiàn)這條信息,后先判斷的CocoaPods是否可以使用嫌褪,可以用CocoaPods的搜索功能驗(yàn)證一下呀枢。在終端中輸入:

pod search AFNetworking;

執(zhí)行后可能會(huì)一直停在

Setting up CocoaPods master repo

然后(很久)會(huì)出現(xiàn)如下錯(cuò)誤:

解決辦法是:

這說(shuō)明CocoaPods還不能正常使用笼痛,需要更新pod裙秋,下載它的一些依賴包;在終端中輸入:

$ pod setup

過(guò)一段時(shí)間之后缨伊,你會(huì)在終端中看到跟上面同樣的紅色的錯(cuò)誤信息摘刑。

這說(shuō)明某些環(huán)境原因?qū)е聀od更新不了,可能原因有刻坊,

1)gem版本太低枷恕;

2)github無(wú)法鏈接;

3).cocoapods目錄下的配置信息錯(cuò)誤谭胚。

我們可以一個(gè)一個(gè)來(lái)排除徐块,首先更新gem到最新版本,在終端中輸入:

$ sudo gem update --system

然后檢查是否可以ping通github灾而,在終端中輸入:

$ ping github.com

然后查看pob repo list:

$ pod repo list

說(shuō)明Cocoapods在將它的信息下載到 ~/.cocoapods里胡控;

cd? 到該目錄里,用du -sh *命令來(lái)查看文件大小旁趟,結(jié)果顯示0 repos昼激,說(shuō)明沒(méi)有安裝成功;

在終端輸入:

cd ~/.cocoapods

進(jìn)入cocoapods文件后在終端輸入:

du -sh *

重新執(zhí)行pod setup轻庆,過(guò)一段時(shí)間后提示setup completed,在終端中輸入 pod list癣猾,展示出安裝列表;

這樣總算安裝好了余爆。接下來(lái)再一次輸入:

pod search AFNetworking

輸入過(guò)后它可能會(huì)報(bào):

[!] Unable to find a pod with name, author, summary, or descriptionmatching `AFNetworking`

解決方案是:

輸入:

rm ~/Library/Caches/CocoaPods/search_index.json

后在一次輸入:

pod search AFNetworking

就可以咯纷宇。

三、cocoapods的使用

首先來(lái)到你的項(xiàng)目文件:

cd 項(xiàng)目文件的位置

然后蛾方,添加一個(gè)Podfile文件:?

vim Podfile

然后按i進(jìn)入插入模式像捶,進(jìn)行編輯,在文件中輸入以下內(nèi)容:

注意百度上很多舊版本輸入的類容:

platform :ios, '8.1'

pod 'AFNetworking', '~> 2.0'

它會(huì)報(bào):

[!] The dependency `AFNetworking (~> 3.0)` is not used in any concrete target.

現(xiàn)在版本升級(jí)官方給的文檔是:

platform :ios, '8.0'

target '你的項(xiàng)目名稱' do

pod 'AFNetworking', '~> 3.0'

end

注意:'你的項(xiàng)目名稱'是你項(xiàng)目文件中'xx.xcodeproj'文件桩砰,'xx.xcodeproj'去掉后綴名所得的‘xx’==(就是)‘你的項(xiàng)目名稱’

輸入完成后按ESC退出編輯模式拓春,最后輸入:wq保存并退出文件。此時(shí)可以發(fā)現(xiàn)在項(xiàng)目目錄下多了一個(gè)Podfile的文件亚隅,請(qǐng)注意這個(gè)文件必須與.xcodeproj在同一目錄下硼莽。

最后:

pod install

沒(méi)報(bào)錯(cuò)就可以了。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末煮纵,一起剝皮案震驚了整個(gè)濱河市懂鸵,隨后出現(xiàn)的幾起案子偏螺,更是在濱河造成了極大的恐慌,老刑警劉巖匆光,帶你破解...
    沈念sama閱讀 216,591評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件套像,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡终息,警方通過(guò)查閱死者的電腦和手機(jī)夺巩,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,448評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)周崭,“玉大人柳譬,你說(shuō)我怎么就攤上這事⌒莅” “怎么了征绎?”我有些...
    開(kāi)封第一講書人閱讀 162,823評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)磨取。 經(jīng)常有香客問(wèn)我人柿,道長(zhǎng),這世上最難降的妖魔是什么忙厌? 我笑而不...
    開(kāi)封第一講書人閱讀 58,204評(píng)論 1 292
  • 正文 為了忘掉前任凫岖,我火速辦了婚禮,結(jié)果婚禮上逢净,老公的妹妹穿的比我還像新娘哥放。我一直安慰自己,他們只是感情好爹土,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,228評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布甥雕。 她就那樣靜靜地躺著,像睡著了一般胀茵。 火紅的嫁衣襯著肌膚如雪社露。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書人閱讀 51,190評(píng)論 1 299
  • 那天琼娘,我揣著相機(jī)與錄音峭弟,去河邊找鬼。 笑死脱拼,一個(gè)胖子當(dāng)著我的面吹牛瞒瘸,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播熄浓,決...
    沈念sama閱讀 40,078評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼情臭,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起俯在,我...
    開(kāi)封第一講書人閱讀 38,923評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤丁侄,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后朝巫,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,334評(píng)論 1 310
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡石景,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,550評(píng)論 2 333
  • 正文 我和宋清朗相戀三年劈猿,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片潮孽。...
    茶點(diǎn)故事閱讀 39,727評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡揪荣,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出往史,到底是詐尸還是另有隱情仗颈,我是刑警寧澤,帶...
    沈念sama閱讀 35,428評(píng)論 5 343
  • 正文 年R本政府宣布椎例,位于F島的核電站挨决,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏订歪。R本人自食惡果不足惜脖祈,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,022評(píng)論 3 326
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望刷晋。 院中可真熱鬧盖高,春花似錦、人聲如沸眼虱。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,672評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)捏悬。三九已至撞蚕,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間邮破,已是汗流浹背诈豌。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 32,826評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留抒和,地道東北人矫渔。 一個(gè)月前我還...
    沈念sama閱讀 47,734評(píng)論 2 368
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像摧莽,于是被迫代替她去往敵國(guó)和親庙洼。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,619評(píng)論 2 354

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