CocoaPods的安裝及使用

本文參考 唐巧的技術(shù)博客

CocoaPods的簡(jiǎn)介

每種語(yǔ)言發(fā)展到一個(gè)階段,就會(huì)出現(xiàn)相應(yīng)的依賴(lài)管理工具,例如 Java 語(yǔ)言的 Maven,nodejs 的 npm翼闹。隨著 iOS 開(kāi)發(fā)者的增多枫振,業(yè)界也出現(xiàn)了為 iOS 程序提供依賴(lài)管理的工具喻圃,它的名字叫做:CocoaPods
CocoaPods項(xiàng)目的源碼 在 Github 上管理粪滤。該項(xiàng)目開(kāi)始于 2011 年 8 月 12 日斧拍,經(jīng)過(guò)多年發(fā)展,現(xiàn)在已經(jīng)成為 iOS 開(kāi)發(fā)事實(shí)上的依賴(lài)管理標(biāo)準(zhǔn)工具杖小。開(kāi)發(fā) iOS 項(xiàng)目不可避免地要使用第三方開(kāi)源庫(kù)饮焦,CocoaPods 的出現(xiàn)使得我們可以節(jié)省設(shè)置和更新第三方開(kāi)源庫(kù)的時(shí)間。

CocoaPods的安裝

  • mac下都自帶ruby窍侧,可以使用ruby的gem命令即可下載安裝
    <pre><code>
    *$ sudo gem install cocoa pods
    *$ pod setup
    </code></pre>

注意县踢,pod setup在執(zhí)行時(shí),會(huì)輸出Setting up CocoaPods master repo伟件,但是會(huì)等待比較久的時(shí)間硼啤。這步其實(shí)是 Cocoapods 在將它的信息下載到 ~/.cocoapods目錄下,如果你等太久斧账,可以試著 cd 到那個(gè)目錄谴返,用du -sh *來(lái)查看下載進(jìn)度。你也可以參考本文接下來(lái)的使用 cocoapods 的鏡像索引一節(jié)的內(nèi)容來(lái)提高下載速度

  • 如果gem太老咧织,可能也會(huì)出現(xiàn)問(wèn)題嗓袱,可以使用如下命令升級(jí)gem
    <pre><code>
    $ sudo gem update --system
    </code></pre>
  • ruby的軟件源https://rubygems.org 因?yàn)槭褂玫膩嗰R遜的與服務(wù)(被墻了),所以需要更新ruby的源习绢,使用如下代碼將官方的ruby源替換成淘寶的源
    <pre><code>
    *$ gem sources --remove https://rubybems.org/ //移除官方源
    $ gem sources -a https://ruby.taobao.org/ //添加淘寶源
    *$ gem sources -l //羅列源
    </code></pre>
  • 如果ruby的版本低渠抹,這是需要使用RVM來(lái)升級(jí)ruby

1.安裝RVM (RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem庫(kù)管理(gems))
<pre><code>
$ curl -L get.rvm.io | bash -s stable
</code></pre>
2.等待RVM安裝好闪萄,輸入一下代碼
<pre><code>
** $ source ~/.bashrc
** $ source ~/.bash_profile
</code></pre>
3.顯示版本(測(cè)試是否安裝正常)
<pre><code>
$ rvm -v
</code></pre>
4.使用RVM升級(jí)ruby

<pre><code>
** $ ruby -v //查看當(dāng)前ruby的版本 ruby 1.8.7
** $ rvm list known //列出已知的ruby版本 **
** $ rvm install 2.2.4 //安裝ruby 2.2.4 **
** $ ruby -v //查看是否安裝成功
</code></pre>

CocoaPods的鏡像索引

  • 所有的項(xiàng)目的 Podspec 文件都托管
    https://github.com/CocoaPods/Specs
    第一次執(zhí)行pod setup時(shí)梧却,CocoaPods 會(huì)將這些podspec索引文件更新到本地的 ~/.cocoapods/目錄下,文件比較大,又需要連接外網(wǎng)败去,下載十分緩慢
    一個(gè)叫 akinliu 的朋友在 gitcafeoschina 上建立了 CocoaPods 索引庫(kù)的鏡像放航,因?yàn)?gitcafe 和 oschina 都是國(guó)內(nèi)的服務(wù)器,所以在執(zhí)行索引更新操作時(shí)圆裕,會(huì)快很多广鳍。如下操作可以將 CocoaPods 設(shè)置成使用 gitcafe 鏡像:
    <pre><code>
    ** $ gem repo remove master
    ** $ gem repo add master https://gitcafe.com/akuandev/Specs.git **
    ** $ gem repo update
    </code></pre>
    將以上代碼中的 https://gitcafe.com/akuandev/Specs.git 替換成 http://git.oschina.net/akuandev/Specs.git 即可使用 oschina 上的鏡像。

CocoaPods的使用

1.使用終端輸入以下代碼
<pre><code>
** $ cd "項(xiàng)目文件夾的地址(可直接將項(xiàng)目文件夾拖入終端獲得)"
** $ pod init (生成Podfile文件)
** $ vim Podfile (打開(kāi)Podfile文件)

</code></pre>
2.點(diǎn)擊按鍵“i”在Podfile中添加依賴(lài)庫(kù)的名字吓妆,點(diǎn)擊"esc"鍵退出編輯赊时,輸入":wq"退出并保存修改
3.在終端輸入命令
<pre><code>
** $ pod install //安裝依賴(lài)庫(kù) **
</code></pre>
注意:
(1)使用 CocoaPods 生成的 *.xcworkspace 文件來(lái)打開(kāi)工程,而不是以前的 *.xcodeproj 文件耿战。
(2)每次更改了 Podfile 文件蛋叼,你需要重新執(zhí)行一次pod update
命令焊傅。

使用CocoaPods查找第三方庫(kù)

使用"<pre><code>pod search "第三方庫(kù)名"</code></pre> " 命令查找第三方庫(kù)

關(guān)于 Podfile.lock

當(dāng)你執(zhí)行pod install之后剂陡,除了 Podfile 外狈涮,CocoaPods 還會(huì)生成一個(gè)名為Podfile.lock的文件,Podfile.lock 應(yīng)該加入到版本控制里面鸭栖,不應(yīng)該把這個(gè)文件加入到.gitignore中歌馍。因?yàn)镻odfile.lock會(huì)鎖定當(dāng)前各依賴(lài)庫(kù)的版本,之后如果多次執(zhí)行pod install不會(huì)更改版本要pod update才會(huì)改Podfile.lock了晕鹊。這樣多人協(xié)作的時(shí)候松却,可以防止第三方庫(kù)升級(jí)時(shí)造成大家各自的第三方庫(kù)版本不一致。
CocoaPods 的這篇 官方文檔 也在What is a Podfile.lock
一節(jié)中介紹了Podfile.lock
的作用溅话,并且指出:

This file should always be kept under version control.

其他拓展

唐巧的技術(shù)博客

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末晓锻,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子飞几,更是在濱河造成了極大的恐慌砚哆,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,839評(píng)論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件屑墨,死亡現(xiàn)場(chǎng)離奇詭異躁锁,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)卵史,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,543評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門(mén)战转,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái),“玉大人以躯,你說(shuō)我怎么就攤上這事槐秧。” “怎么了忧设?”我有些...
    開(kāi)封第一講書(shū)人閱讀 153,116評(píng)論 0 344
  • 文/不壞的土叔 我叫張陵色鸳,是天一觀(guān)的道長(zhǎng)。 經(jīng)常有香客問(wèn)我见转,道長(zhǎng)命雀,這世上最難降的妖魔是什么? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 55,371評(píng)論 1 279
  • 正文 為了忘掉前任斩箫,我火速辦了婚禮吏砂,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘乘客。我一直安慰自己狐血,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,384評(píng)論 5 374
  • 文/花漫 我一把揭開(kāi)白布易核。 她就那樣靜靜地躺著匈织,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上缀匕,一...
    開(kāi)封第一講書(shū)人閱讀 49,111評(píng)論 1 285
  • 那天纳决,我揣著相機(jī)與錄音,去河邊找鬼乡小。 笑死阔加,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的满钟。 我是一名探鬼主播胜榔,決...
    沈念sama閱讀 38,416評(píng)論 3 400
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼湃番!你這毒婦竟也來(lái)了夭织?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書(shū)人閱讀 37,053評(píng)論 0 259
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤吠撮,失蹤者是張志新(化名)和其女友劉穎摔癣,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體纬向,經(jīng)...
    沈念sama閱讀 43,558評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡择浊,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,007評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了逾条。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片琢岩。...
    茶點(diǎn)故事閱讀 38,117評(píng)論 1 334
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖师脂,靈堂內(nèi)的尸體忽然破棺而出担孔,到底是詐尸還是另有隱情,我是刑警寧澤吃警,帶...
    沈念sama閱讀 33,756評(píng)論 4 324
  • 正文 年R本政府宣布糕篇,位于F島的核電站,受9級(jí)特大地震影響酌心,放射性物質(zhì)發(fā)生泄漏拌消。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,324評(píng)論 3 307
  • 文/蒙蒙 一安券、第九天 我趴在偏房一處隱蔽的房頂上張望墩崩。 院中可真熱鬧,春花似錦侯勉、人聲如沸鹦筹。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,315評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)铐拐。三九已至徘键,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間遍蟋,已是汗流浹背吹害。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,539評(píng)論 1 262
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留匿值,地道東北人赠制。 一個(gè)月前我還...
    沈念sama閱讀 45,578評(píng)論 2 355
  • 正文 我出身青樓赂摆,卻偏偏與公主長(zhǎng)得像挟憔,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子烟号,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,877評(píng)論 2 345

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