Cocoapods三重奏 (一)安裝和使用

Cocoapods安裝和使用

Cocoapods介紹

前言


對(duì)于iOS APP開發(fā)中偶器,幾乎都采用了Cocoapods來管理第三方庫媳瞪,所以掌握Cocoapods的使用對(duì)于iOS開發(fā)者是非常重要的。

Cocoapods 期犬?


簡單來說颜懊,Cocoapods就是專門為iOS工程提供對(duì)第三方庫依賴的管理工具财岔,我們可以通過Podfile文件方便的管理第三方庫,相對(duì)于手動(dòng)管理(手動(dòng)拖拽和刪除)第三方庫來說確實(shí)方便了很多河爹,節(jié)省時(shí)間去關(guān)心第三方庫的使用匠璧。

Cocoapods安裝


Cocoapods是使用ruby安裝的,MAC系統(tǒng)有一個(gè)默認(rèn)的ruby版本咸这,通過下面命令安裝
sudo gem install cocoapods
這個(gè)時(shí)候你會(huì)發(fā)現(xiàn)安裝失敗夷恍,因?yàn)槟J(rèn)的cocoapods網(wǎng)址是國外的,國內(nèi)無法訪問(除非使用VPN)
國內(nèi)使用ruby安裝cocoapods的步驟:

*  打開終端程序
* 刪除默認(rèn)ruby:gem sources —remove https://rubygems.org/
* 添加淘寶ruby:gem source -a https://ruby.taobao.org/
* 查看是否添加成功:gem source -l
* 安裝:sudo gem install cocoapods 
* 查看某個(gè)庫: pod search 類庫名   //支持模糊查詢(如:AFNetwork)

Cocoapods使用


cocoapods使用

cocoapods的使用主要是通過 Podfile文件來自動(dòng)管理第三方庫的
具體步驟

    * 打開終端程序
    * 進(jìn)入到要添加第三方庫的項(xiàng)目目錄
    * 通過touch或者直接通過vi編輯器創(chuàng)建一個(gè)Podfile文件
    * 添加需要使用的庫:
       pod 'AFNetworking', '~>2.0' //可以指定版本
       pod 'MBProgressHUD'          //不指定版本默認(rèn)下載最新的
    * 編輯完成媳维,點(diǎn)擊esc進(jìn)入到“最后一行”模式酿雪,輸入一個(gè)":",然后輸入 "wq",保存退出
    * 然后在終端輸入`pod install` 進(jìn)行安裝
    * 打開項(xiàng)目目錄下的xxx.xcworkspace文件

cocoapods刪除

    * 刪除工程文件夾下的Podfile侄刽、Podfile.lock及Pods文件夾
    * 刪除xcworkspace文件
    * 使用xcodeproj文件打開工程指黎,刪除Frameworks組下的 Pods.xcconfig及l(fā)ibPods.a引用
    * 在工程設(shè)置中的Build Phases下刪除Check Pods Manifest.lock及Copy Pods Resources(參考下圖)

D465CDE3-3582-49EA-B535-3400C3B29EB5-e1402763591159.jpg

podfile常用命令:

1、pod install

根據(jù)Podfile文件指定的內(nèi)容州丹,安裝依賴庫醋安,如果有Podfile.lock文件而且對(duì)應(yīng)的Podfile文件未被修改,則會(huì)根據(jù)Podfile.lock文件指定的版本安裝当叭。

每次更新了Podfile文件時(shí),都需要重新執(zhí)行該命令盖灸,以便重新安裝Pods依賴庫

2蚁鳖、pod update

若果Podfile中指定的依賴庫版本不是寫死的,當(dāng)對(duì)應(yīng)的依賴庫有了更新赁炎,無論有沒有Podfile.lock文件都會(huì)去獲取Podfile文件描述的允許獲取到的最新依賴庫版本醉箕。

3钾腺、pod search

查看某個(gè)庫: pod search 類庫名 //支持模糊查詢(如:AFNetwork)

4、pod setup

用于更新本地電腦上的保存的Pods依賴庫tree讥裤。由于每天有很多人會(huì)創(chuàng)建或者更新Pods依賴庫放棒,這條命令執(zhí)行的時(shí)候會(huì)相當(dāng)慢,還請(qǐng)耐心等待己英。我們需要經(jīng)常執(zhí)行這條命令间螟,否則有新的Pods依賴庫的時(shí)候執(zhí)行pod search命令是搜不出來的。

1 多個(gè)target中使用相同的Pods依賴庫

比如损肛,名稱為CocoaPodsTest的target和Second的target都需要使用Reachability厢破、SBJson、AFNetworking三個(gè)Pods依賴庫治拿,可以使用link_with關(guān)鍵字來實(shí)現(xiàn)摩泪,將Podfile寫成如下方式:

link_with ‘CocoaPodsTest’, ‘Second’
platform :ios
pod ‘Reachability’,  ‘~> 3.0.0’
pod ‘SBJson’, ‘~> 4.0.0’
platform :ios, ‘7.0’
pod ‘AFNetworking’, ‘~> 2.0’

2 不同的target使用完全不同的Pods依賴庫

CocoaPodsTest這個(gè)target使用的是Reachability、SBJson劫谅、AFNetworking三個(gè)依賴庫见坑,但Second這個(gè)target只需要使用OpenUDID這一個(gè)依賴庫,這時(shí)可以使用target關(guān)鍵字捏检,Podfile的描述方式如下:

target :’CocoaPodsTest’ do
platform :ios
pod ‘Reachability’,  ‘~> 3.0.0’
pod ‘SBJson’, ‘~> 4.0.0’
platform :ios, ‘7.0’
pod ‘AFNetworking’, ‘~> 2.0′
end
target :’Second’ do
pod ‘OpenUDID’, ‘~> 1.0.0’
end

以do/end 開始和結(jié)尾

5荞驴、Podfile中指定類庫版本的含義

pod ‘AFNetworking’      //不顯式指定依賴庫版本,表示每次都獲取最新版本
pod ‘AFNetworking’, ‘2.0’     //只使用2.0版本
pod ‘AFNetworking’, ‘> 2.0’     //使用高于2.0的版本
pod ‘AFNetworking’, ‘>= 2.0’     //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘< 2.0’     //使用小于2.0的版本
pod ‘AFNetworking’, ‘<= 2.0’     //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~> 0.1.2’     //使用大于等于0.1.2但小于0.2的版本
pod ‘AFNetworking’, ‘~>0.1’     //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0’     //高于0的版本未檩,寫這個(gè)限制和什么都不寫是一個(gè)效果戴尸,都表示使用最新版本

cocoapods升級(jí)


屏幕快照 2016-11-11 下午3.21.30.png

錯(cuò)誤處理:
當(dāng)你執(zhí)行 sudo gem update --system 命令的時(shí)候可能會(huì)報(bào)錯(cuò)

屏幕快照 2016-11-15 下午7.47.36.png

這時(shí)候需要你 先安裝homebrew,去官網(wǎng)復(fù)制命令:http://brew.sh

然后執(zhí)行命令 brew install ruby

安裝成功后重新執(zhí)行cocoapods安裝命令

參考:

1 http://www.exiatian.com/cocoapods安裝使用及配置私有庫/
2 http://www.cnblogs.com/brycezhang/p/3675670.html
3 http://mp.weixin.qq.com/s?__biz=MzIzMzA4NjA5Mw==&mid=214023058&idx=1&sn=02fcf03d8ceb6636489086ba3fc310cc&scene=18#rd

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末冤狡,一起剝皮案震驚了整個(gè)濱河市孙蒙,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌悲雳,老刑警劉巖挎峦,帶你破解...
    沈念sama閱讀 211,194評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異合瓢,居然都是意外死亡坦胶,警方通過查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,058評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門晴楔,熙熙樓的掌柜王于貴愁眉苦臉地迎上來顿苇,“玉大人,你說我怎么就攤上這事税弃〖退辏” “怎么了?”我有些...
    開封第一講書人閱讀 156,780評(píng)論 0 346
  • 文/不壞的土叔 我叫張陵则果,是天一觀的道長幔翰。 經(jīng)常有香客問我漩氨,道長,這世上最難降的妖魔是什么遗增? 我笑而不...
    開封第一講書人閱讀 56,388評(píng)論 1 283
  • 正文 為了忘掉前任叫惊,我火速辦了婚禮,結(jié)果婚禮上做修,老公的妹妹穿的比我還像新娘霍狰。我一直安慰自己,他們只是感情好缓待,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,430評(píng)論 5 384
  • 文/花漫 我一把揭開白布蚓耽。 她就那樣靜靜地躺著,像睡著了一般旋炒。 火紅的嫁衣襯著肌膚如雪步悠。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,764評(píng)論 1 290
  • 那天瘫镇,我揣著相機(jī)與錄音鼎兽,去河邊找鬼。 笑死铣除,一個(gè)胖子當(dāng)著我的面吹牛谚咬,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播尚粘,決...
    沈念sama閱讀 38,907評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開眼择卦,長吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了郎嫁?” 一聲冷哼從身側(cè)響起秉继,我...
    開封第一講書人閱讀 37,679評(píng)論 0 266
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎泽铛,沒想到半個(gè)月后尚辑,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,122評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡盔腔,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,459評(píng)論 2 325
  • 正文 我和宋清朗相戀三年杠茬,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片弛随。...
    茶點(diǎn)故事閱讀 38,605評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡瓢喉,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出舀透,到底是詐尸還是另有隱情栓票,我是刑警寧澤,帶...
    沈念sama閱讀 34,270評(píng)論 4 329
  • 正文 年R本政府宣布盐杂,位于F島的核電站逗载,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏链烈。R本人自食惡果不足惜厉斟,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,867評(píng)論 3 312
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望强衡。 院中可真熱鬧擦秽,春花似錦、人聲如沸漩勤。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,734評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽越败。三九已至触幼,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間究飞,已是汗流浹背置谦。 一陣腳步聲響...
    開封第一講書人閱讀 31,961評(píng)論 1 265
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留亿傅,地道東北人媒峡。 一個(gè)月前我還...
    沈念sama閱讀 46,297評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長得像葵擎,于是被迫代替她去往敵國和親谅阿。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,472評(píng)論 2 348

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

  • 項(xiàng)目組件化酬滤、平臺(tái)化是技術(shù)公司的共同目標(biāo)签餐,越來越多的技術(shù)公司推崇使用pod管理第三方庫以及私有組件,一方面使項(xiàng)目架構(gòu)...
    swu_luo閱讀 21,577評(píng)論 0 39
  • Ruby 安裝 要安裝cocospods 首先需要安裝ruby敏晤,可以先安裝xcode贱田,再安裝macport ,最后...
    山天大畜閱讀 1,846評(píng)論 0 1
  • 一. CocoaPods的介紹 什么是CocoaPods嘴脾?CocoaPods是一個(gè)負(fù)責(zé)管理iOS項(xiàng)目中第三方開源庫...
    輝712閱讀 3,916評(píng)論 0 7
  • 什么是cocoapods CocoaPods是一個(gè)用來幫助我們管理第三方依賴庫的工具男摧。它可以解決庫與庫之間的依賴關(guān)...
    VV木公子閱讀 7,060評(píng)論 0 7
  • 老家附近是沒有山的,上大學(xué)后我才第一次見到山译打。 讀了很多描寫青山的詩句之后耗拓,不由得對(duì)遠(yuǎn)方的山心生向往,想體會(huì)“會(huì)當(dāng)...
    青鋒暮寒閱讀 1,037評(píng)論 3 12