2016 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閱讀 206,723評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拳喻,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡猪腕,警方通過(guò)查閱死者的電腦和手機(jī)冗澈,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,485評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)陋葡,“玉大人亚亲,你說(shuō)我怎么就攤上這事「停” “怎么了捌归?”我有些...
    開(kāi)封第一講書(shū)人閱讀 152,998評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)岭粤。 經(jīng)常有香客問(wèn)我惜索,道長(zhǎng),這世上最難降的妖魔是什么剃浇? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,323評(píng)論 1 279
  • 正文 為了忘掉前任巾兆,我火速辦了婚禮,結(jié)果婚禮上偿渡,老公的妹妹穿的比我還像新娘臼寄。我一直安慰自己,他們只是感情好溜宽,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,355評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布吉拳。 她就那樣靜靜地躺著,像睡著了一般适揉。 火紅的嫁衣襯著肌膚如雪留攒。 梳的紋絲不亂的頭發(fā)上纺腊,一...
    開(kāi)封第一講書(shū)人閱讀 49,079評(píng)論 1 285
  • 那天着逐,我揣著相機(jī)與錄音穿铆,去河邊找鬼蔚约。 笑死庆械,一個(gè)胖子當(dāng)著我的面吹牛腊瑟,可吹牛的內(nèi)容都是我干的跳昼。 我是一名探鬼主播对嚼,決...
    沈念sama閱讀 38,389評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼杰标!你這毒婦竟也來(lái)了兵怯?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,019評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤腔剂,失蹤者是張志新(化名)和其女友劉穎媒区,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體掸犬,經(jīng)...
    沈念sama閱讀 43,519評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡袜漩,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,971評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了湾碎。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片宙攻。...
    茶點(diǎn)故事閱讀 38,100評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖胜茧,靈堂內(nèi)的尸體忽然破棺而出粘优,到底是詐尸還是另有隱情,我是刑警寧澤呻顽,帶...
    沈念sama閱讀 33,738評(píng)論 4 324
  • 正文 年R本政府宣布雹顺,位于F島的核電站,受9級(jí)特大地震影響廊遍,放射性物質(zhì)發(fā)生泄漏嬉愧。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,293評(píng)論 3 307
  • 文/蒙蒙 一喉前、第九天 我趴在偏房一處隱蔽的房頂上張望没酣。 院中可真熱鬧,春花似錦卵迂、人聲如沸裕便。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,289評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)偿衰。三九已至,卻和暖如春改览,著一層夾襖步出監(jiān)牢的瞬間下翎,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,517評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工宝当, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留视事,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,547評(píng)論 2 354
  • 正文 我出身青樓庆揩,卻偏偏與公主長(zhǎng)得像俐东,于是被迫代替她去往敵國(guó)和親跌穗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,834評(píng)論 2 345

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