CocoaPods的安裝和使用(心得)

上周五由于項(xiàng)目需要缰雇,我把一個(gè)有Pods項(xiàng)目改了名皆串,可恨的是電腦上的CocoaPods掛掉了淹办,公司網(wǎng)差。只好周末的時(shí)候在家?jiàn)^斗了一下恶复,功夫不負(fù)有心人怜森,最后是被我搞好了,由于出現(xiàn)了好多問(wèn)題谤牡,所以在這把自己的安裝心得說(shuō)一下副硅,僅供大家參考!

CocoaPods簡(jiǎn)介:

CocoaPods是什么呢翅萤?它負(fù)責(zé)管理iOS項(xiàng)目中第三方開(kāi)源庫(kù)的工具恐疲,它的項(xiàng)目源碼都在Github上管理的,那么問(wèn)題又來(lái)了套么,Github是什么呢培己?(### 被扔西紅柿),咳咳~這個(gè)我就不在這廢話了胚泌。我們開(kāi)發(fā)iOS項(xiàng)目時(shí)不可避免地要使用第三方開(kāi)源庫(kù)(現(xiàn)在第三方開(kāi)源庫(kù)的使用率比前些年更多了省咨,建議大家在允許的條件下 最好是能夠自己造些輪子),CocoaPods的出現(xiàn)使得我們可以節(jié) 省配置和更新第三方開(kāi)源庫(kù)的時(shí)間和精力玷室。

安裝前奏

首先要提一下CocoaPods的安裝順序:

Xcode -> homebrew -> RVM -> Ruby -> CocoaPods
  • Xcode不用說(shuō)零蓉。。大家也沒(méi)有不知道的穷缤。
  • homebrew是什么敌蜂?接觸過(guò)Linux的同學(xué)應(yīng)該挺熟悉yum的,沒(méi)錯(cuò)津肛,homebrew就是OS的yum章喉,一款軟件管理工具。
  • RVM 它的全程是Ruby Version Manager,大家看名字也應(yīng)該可以了解到囊陡,這是一款命令行管理工具芳绩,能夠輕松的管理Ruby的版本。
  • Ruby 這是一款專門為面向設(shè)計(jì)編程制作的腳本語(yǔ)言撞反,簡(jiǎn)單易用妥色,功能強(qiáng)大。

關(guān)于這幾個(gè)工具的安裝我就不在這篇文章中贅述了遏片,有需要的我再專門寫一篇關(guān)于他們的安裝嘹害。

安裝正式開(kāi)始

  • 首先使用Ruby的gem命令來(lái)進(jìn)行安裝
$ sudo gem install cocoapods
$ pod setup

敲完這些以后,你會(huì)突然發(fā)現(xiàn)吮便,卡住了笔呀。恭喜你,體驗(yàn)了一把被“墻”的感覺(jué)髓需。這是因?yàn)镽uby的源(安裝源)https://rubygems.org/是亞馬遜的云服務(wù)(這個(gè)說(shuō)真的我是之前在唐巧大神的博客中了解到的)许师,這個(gè)時(shí)候大部分的教程都會(huì)叫你換成淘寶的源淘寶的源:https://ruby.taobao.org/,不過(guò)........

淘寶Ruby源網(wǎng)站截圖

沒(méi)錯(cuò)僚匆,停止維護(hù)了微渠,更具淘寶源上的提示,現(xiàn)在源應(yīng)該使用http://gems.ruby-china.org/這個(gè)咧擂。
好的問(wèn)題逞盆,解決了,那么讓我們換一下ruby的源吧

gem sources --remove https://rubygems.org/                 //刪除
gem sources -a http://gems.ruby-china.org/
gem sources -l

你會(huì)發(fā)現(xiàn)新的ruby源已經(jīng)安裝完畢松申,完美~

  • 繼續(xù)pod setup命令云芦,這個(gè)時(shí)候終端會(huì)出現(xiàn)Setting up CocoaPods master repo,這個(gè)步驟 Cocoapods 會(huì)將它的信息下載到Mac的~/.cocoapods目錄下贸桶,然后漫長(zhǎng)的等待來(lái)了~~(表示樓主在這個(gè)階段過(guò)一會(huì)就預(yù)覽一下/.cocoapods/repos/master的大小舅逸,當(dāng)然也可以cd到目錄下用du -sh *命令查看進(jìn)度,速度挺快刨啸,一分鐘能走1MB了呢>_<||| )堡赔。

使用 CocoaPods 的鏡像索引

是不是等不下去了?好吧设联,告訴一個(gè)可以提高下載速度的方法,那就是使用CocoaPods的鏡像索引灼捂。
所有的項(xiàng)目的 Podspec 文件都托管在https://github.com/CocoaPods/Specs离例,第一次執(zhí)行pod setup時(shí),CocoaPods 會(huì)將這些podspec索引文件更新到本地的 ~/.cocoapods/目錄下.
一個(gè)叫 akinliu 的朋友在 gitcafeoschina 上建立了 CocoaPods 索引庫(kù)的鏡像悉稠,因?yàn)?gitcafeoschina的服務(wù)器都是在國(guó)內(nèi)宫蛆,所以在執(zhí)行索引更新操作時(shí),會(huì)快了好多。如下操作可以將 CocoaPods 設(shè)置成使用 gitcafe 鏡像:

pod repo remove masterpod repo add master https://gitcafe.com/akuandev/Specs.gitpod repo update

使用 oschina 鏡像:

pod repo remove masterpod repo add master http://git.oschina.net/akuandev/Specs.git

CocoaPods使用

安裝完成后耀盗,我們就可以安心的來(lái)使用CocoaPods了

  • 使用CocoaPods有一個(gè)前提想虎,是我們的項(xiàng)目目錄下必須要有一個(gè)Profile的文件,那這個(gè)文件要怎么創(chuàng)建呢:
cd ''項(xiàng)目根目錄''
pod init

OK叛拷,搞定這個(gè)時(shí)候使用vim Profile命令編輯Profile里的內(nèi)容舌厨,將依賴庫(kù)名字依次列在Profile中,最終格式如下:

Profile最終格式

其中target 'Demo' do#Pods for Demo中的Demo是我的工程名忿薇。

  • 到現(xiàn)在為止裙椭,你的Profile就已經(jīng)配置好了,然后執(zhí)行:
pod install

等待完成后署浩,你的第三方庫(kù)就已經(jīng)配置好了揉燃,打開(kāi).xcworkspace,沒(méi)錯(cuò)筋栋,再也不是.xcodeproj文件了炊汤。
鏈接你的設(shè)備,使用配置好的Pods弊攘,run一下你的程序吧~

  • Note: 每次更改了 Podfile 文件婿崭,你需要重新執(zhí)行一次pod update命令。

三個(gè)重要的知識(shí)點(diǎn)

  • 當(dāng)執(zhí)行pod install之后肴颊,除了Podfile氓栈,還會(huì)生成一個(gè)名為Podfile.lock的文件,它會(huì)鎖定當(dāng)前各依賴庫(kù)的版本婿着,之后即使多次執(zhí)行pod install也不會(huì)更改版本授瘦,只有執(zhí)行pod update才會(huì)改變Podfile.lock.在多人協(xié)作的時(shí)候,這樣可以防止第三方庫(kù)升級(jí)時(shí)候造成大家各自的第三方庫(kù)版本不一致竟宋,所以在往SVN提交版本的時(shí)候不能把它落下提完。(個(gè)人認(rèn)為可以把它從ignore列表中刪掉)
  • Pods項(xiàng)目最終會(huì)編譯成一個(gè)名為libPods.a的文件,主項(xiàng)目只需要依賴這個(gè).a文件即可丘侠,這個(gè)文件一般在項(xiàng)目的frameworks文件夾下徒欣。
  • CocoaPods通過(guò)一個(gè)名為Pods.xcconfig的文件來(lái)在編譯時(shí)設(shè)置所有的依賴和參數(shù)。

結(jié)語(yǔ)

這次重命名項(xiàng)目讓我好好的研究了一把CocoaPods蜗字,畢竟之前都是直接看教程敲命令行??打肝。不過(guò)還是要吐槽一下pod setup的下載速度~樓主表示,都怪你讓我連輸了三把排位挪捕!ヽ(ˋДˊ)ノヽ(ˋДˊ)ノヽ(ˋДˊ)ノ

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末粗梭,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子级零,更是在濱河造成了極大的恐慌断医,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,348評(píng)論 6 491
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異鉴嗤,居然都是意外死亡斩启,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,122評(píng)論 2 385
  • 文/潘曉璐 我一進(jìn)店門醉锅,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)兔簇,“玉大人,你說(shuō)我怎么就攤上這事荣挨∧腥停” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 156,936評(píng)論 0 347
  • 文/不壞的土叔 我叫張陵默垄,是天一觀的道長(zhǎng)此虑。 經(jīng)常有香客問(wèn)我,道長(zhǎng)口锭,這世上最難降的妖魔是什么朦前? 我笑而不...
    開(kāi)封第一講書人閱讀 56,427評(píng)論 1 283
  • 正文 為了忘掉前任,我火速辦了婚禮鹃操,結(jié)果婚禮上韭寸,老公的妹妹穿的比我還像新娘。我一直安慰自己荆隘,他們只是感情好恩伺,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,467評(píng)論 6 385
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著椰拒,像睡著了一般晶渠。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上燃观,一...
    開(kāi)封第一講書人閱讀 49,785評(píng)論 1 290
  • 那天褒脯,我揣著相機(jī)與錄音,去河邊找鬼缆毁。 笑死番川,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的脊框。 我是一名探鬼主播颁督,決...
    沈念sama閱讀 38,931評(píng)論 3 406
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼缚陷!你這毒婦竟也來(lái)了适篙?” 一聲冷哼從身側(cè)響起,我...
    開(kāi)封第一講書人閱讀 37,696評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤箫爷,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體虎锚,經(jīng)...
    沈念sama閱讀 44,141評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡硫痰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,483評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了窜护。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片效斑。...
    茶點(diǎn)故事閱讀 38,625評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖柱徙,靈堂內(nèi)的尸體忽然破棺而出缓屠,到底是詐尸還是另有隱情,我是刑警寧澤护侮,帶...
    沈念sama閱讀 34,291評(píng)論 4 329
  • 正文 年R本政府宣布敌完,位于F島的核電站,受9級(jí)特大地震影響羊初,放射性物質(zhì)發(fā)生泄漏滨溉。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,892評(píng)論 3 312
  • 文/蒙蒙 一长赞、第九天 我趴在偏房一處隱蔽的房頂上張望晦攒。 院中可真熱鬧,春花似錦得哆、人聲如沸脯颜。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 30,741評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)栋操。三九已至,卻和暖如春乐设,著一層夾襖步出監(jiān)牢的瞬間讼庇,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 31,977評(píng)論 1 265
  • 我被黑心中介騙來(lái)泰國(guó)打工近尚, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留蠕啄,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,324評(píng)論 2 360
  • 正文 我出身青樓戈锻,卻偏偏與公主長(zhǎng)得像歼跟,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子格遭,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,492評(píng)論 2 348

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