cocoapods

cocoapods.png

CocoaPods是 iOS 最常用的第三方類庫(kù)管理工具匀哄,絕大部分有名的開源類庫(kù)都支持CocoaPods孩等。

CocoaPods是用ruby實(shí)現(xiàn)的香到,要想使用它首先需要有ruby的環(huán)境。幸運(yùn)的是OS X系統(tǒng)默認(rèn)已經(jīng)可以運(yùn)行ruby了挂滓。但是有時(shí)候ruby版本過低是無法正常支持CocoaPods的使用,所以需要先安裝更新升級(jí)rvm和ruby膀懈。

CocoaPods的安裝


  • 檢查安裝 rvm 環(huán)境
    • $rvm -v
      如果存在著顯示對(duì)應(yīng)的版本

      Snip20170313_118.png

      如果不存在,則顯示
      Snip20170313_119.png

    • 不存在則安裝rvm

$curl -L https://get.rvm.io | bash -s stable

如果安裝成功這顯示下面


Snip20170313_120.png
  • 載入Rvm
$source ~/.rvm/scripts/rvm
  • 再次檢查 rvm 是否安裝正確
$rvm -v
Snip20170313_118.png
  • 安裝好Rvm,然后利用Rvm安裝ruby環(huán)境
當(dāng)ruby版本低于2.2.2時(shí)翔始,安裝CocoaPods會(huì)報(bào)錯(cuò);為防止ruby版本過低撑螺,建議先升級(jí)ruby環(huán)境含思,建議升級(jí)到2.3.0版本以上
  • 查看ruby版本列表
$ rvm list known
Snip20170313_121.png
  • 查看當(dāng)前ruby版本
$ rvm -v
Snip20170313_122.png
  • 如果當(dāng)前ruby版本過低, 可以更新到指定版本
$ rvm install 2.3.0
Snip20170313_125.png
  • 查詢已安裝的 ruby
$ rvm list
Snip20170313_129.png
  • 卸載一個(gè)已安裝版本
$ rvm remove 1.9.2
  • 檢查更新 ruby 版本環(huán)境
    CocoaPods是用gem ruby實(shí)現(xiàn)的,要想使用它首先需要有g(shù)em ruby的環(huán)境甘晤。且 MAC 的 OS X系統(tǒng)默認(rèn)已經(jīng)可以運(yùn)行ruby

    Tip:

    建議gem ruby包環(huán)境升級(jí)到2.6.x以上含潘。
    
    • 查看gem ruby版本號(hào)
    $sudo gem -v
    
Snip20170313_130.png
- 如果版本較低(默認(rèn)),建議更新版本
 ```
$gem update --system
```

Ruby的軟件源使用的是亞馬遜的云服務(wù),國(guó)內(nèi)網(wǎng)絡(luò)環(huán)境下載時(shí)可能會(huì)出現(xiàn)各種不穩(wěn)定和超時(shí),可以將官方 ruby 源替換成國(guó)內(nèi)由China ruby 源

  • 查看ruby源
$ gem sources -l
  • 移除ruby 源
gem sources --remove https://rubygems.org/
  • 替換源
$ gem sources --add https://gems.ruby-china.org
  • 安裝coocoapods

    • OS X10.11之前系統(tǒng)的安裝 CocoaPods 指令
    $ sudo gem install cocoapods
    
    • OS X10.11之后系統(tǒng)的安裝 CocoaPods 指令
    $ sudo gem install -n /usr/local/bin cocoa pods
    
  • pod setup

執(zhí)行pod setup時(shí)线婚,CocoaPods 會(huì)將第三方的podspec索引文件更新到本地的~/.cocoapods/repos目錄下

這里下載時(shí)間比較長(zhǎng),通常會(huì)失敗,通常解決方法:
如果執(zhí)行 pod setup遏弱,并且命令沒有執(zhí)行成功,那么會(huì)創(chuàng)建~/.cocoapods/repos目錄塞弊,只不過目錄是空的漱逸。

直接到~/.cocoapods/repos目錄下執(zhí)行 git clone  https://github.com/CocoaPods/Specs.git 到改目錄下,并修改Specs文  件夾名為master          
Snip20170313_132.png
  • 執(zhí)行pod setup

通常這樣,cocoapods就安裝成功了!!!

CocoaPods的安裝


1.創(chuàng)建一個(gè)項(xiàng)目,名字為testcocoapodsdemo
2.加入我們想通過cocoapods安裝AFNetworking框架.
2.1.在項(xiàng)目文件下創(chuàng)建一個(gè)名為podfile的文件

Snip20170313_133.png

2.2.執(zhí)行pod search AFNetworking


Snip20170313_134.png

2.3.編輯podfile 文件,最簡(jiǎn)單的方式

platform :ios, '7.0'

target 'testcocoapodsdemo' do

pod 'AFNetworking', '~> 3.1.0'

end
Snip20170313_136.png

2.4 執(zhí)行命令 pod install
CocoaPods 在執(zhí)行pod install和pod update時(shí),會(huì)默認(rèn)先更新一次podspec索引游沿。使用--no-repo-update
參數(shù)可以禁止其做索引更新操作,通常我們是會(huì)用一下命令

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

執(zhí)行 pod install --no-repo-update

如果profile書寫有誤,會(huì)報(bào)錯(cuò)

Snip20170313_137.png

如果沒有問題,這顯示如下信息,接下來就是等待安裝

Snip20170313_138.png

安裝成功:


Snip20170313_139.png

這時(shí)候打開我們項(xiàng)目目錄:

Pofile

Podfile是cocoapods安裝第三方庫(kù)的依賴文件饰抒,其中定義cocoapod需要集成的第三庫(kù)已經(jīng)對(duì)應(yīng)的系統(tǒng)要求等信息。

podfile寫法

platform :ios, '7.0'

依賴庫(kù)寫法

pod 'AFNetworking', '~> 3.1.0' //高于3.1.0的版本诀黍,表示使用最新版本
pod 'AFNetworking' //不指定依賴庫(kù)版本袋坑,每次都獲取最新版本
pod 'AFNetworking', '3.1.0' //只使用3.1.0的版本
pod 'AFNetworking', '>3.1.0' //使用高于3.1.0的版本
pod 'AFNetworking', '>=3.1.0' //使用大于等于

use_frameworks!

a. 使用frameworks動(dòng)態(tài)庫(kù)替換靜態(tài)庫(kù)鏈接
b. swift項(xiàng)目cocoapods默認(rèn)是 use_frameworks
c. OC項(xiàng)目cocoapods默認(rèn)是 #use_frameworks <#是注釋的意思>

Pofile.lock

  1. Podfile.lock會(huì)鎖定當(dāng)前各依賴庫(kù)的版本,之后如果多次執(zhí)行pod install不會(huì)更改版本,要pod update才會(huì)改Podfile.lock了。這樣多人協(xié)作的時(shí)候眯勾,可以防止第三方庫(kù)升級(jí)時(shí)造成大家各自的第三方庫(kù)版本不一致

注意:
1.podfile.lock 應(yīng)該加入到版本控制里面枣宫,不應(yīng)該把這個(gè)文件加入到.gitignore中

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市吃环,隨后出現(xiàn)的幾起案子也颤,更是在濱河造成了極大的恐慌,老刑警劉巖郁轻,帶你破解...
    沈念sama閱讀 206,311評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件翅娶,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡范咨,警方通過查閱死者的電腦和手機(jī)故觅,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來渠啊,“玉大人输吏,你說我怎么就攤上這事√骝龋” “怎么了贯溅?”我有些...
    開封第一講書人閱讀 152,671評(píng)論 0 342
  • 文/不壞的土叔 我叫張陵拄氯,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我它浅,道長(zhǎng)译柏,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評(píng)論 1 279
  • 正文 為了忘掉前任姐霍,我火速辦了婚禮鄙麦,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘镊折。我一直安慰自己胯府,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評(píng)論 5 371
  • 文/花漫 我一把揭開白布恨胚。 她就那樣靜靜地躺著骂因,像睡著了一般。 火紅的嫁衣襯著肌膚如雪赃泡。 梳的紋絲不亂的頭發(fā)上寒波,一...
    開封第一講書人閱讀 49,031評(píng)論 1 285
  • 那天,我揣著相機(jī)與錄音升熊,去河邊找鬼俄烁。 笑死,一個(gè)胖子當(dāng)著我的面吹牛僚碎,可吹牛的內(nèi)容都是我干的猴娩。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼勺阐,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了矛双?” 一聲冷哼從身側(cè)響起渊抽,我...
    開封第一講書人閱讀 36,973評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎议忽,沒想到半個(gè)月后懒闷,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,466評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡栈幸,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評(píng)論 2 323
  • 正文 我和宋清朗相戀三年愤估,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片速址。...
    茶點(diǎn)故事閱讀 38,039評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡玩焰,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出芍锚,到底是詐尸還是另有隱情昔园,我是刑警寧澤蔓榄,帶...
    沈念sama閱讀 33,701評(píng)論 4 323
  • 正文 年R本政府宣布,位于F島的核電站默刚,受9級(jí)特大地震影響甥郑,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜荤西,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評(píng)論 3 307
  • 文/蒙蒙 一澜搅、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧邪锌,春花似錦勉躺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至舶胀,卻和暖如春概说,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背嚣伐。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評(píng)論 1 262
  • 我被黑心中介騙來泰國(guó)打工糖赔, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人轩端。 一個(gè)月前我還...
    沈念sama閱讀 45,497評(píng)論 2 354
  • 正文 我出身青樓放典,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親基茵。 傳聞我的和親對(duì)象是個(gè)殘疾皇子奋构,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評(píng)論 2 345

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

  • CocoaPods 是什么? CocoaPods 是一個(gè)負(fù)責(zé)管理 iOS 項(xiàng)目中第三方開源庫(kù)的工具拱层。CocoaPo...
    朝洋閱讀 25,632評(píng)論 3 51
  • Ruby 安裝 要安裝cocospods 首先需要安裝ruby弥臼,可以先安裝xcode,再安裝macport 根灯,最后...
    山天大畜閱讀 1,842評(píng)論 0 1
  • Cluster集群模式 前一篇文章 介紹了當(dāng)配置文件中只有一個(gè)server地址時(shí)径缅,Standalone模式的啟動(dòng)流...
    kifile閱讀 1,042評(píng)論 0 2