上周五由于項(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ò)........
沒(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 的朋友在 gitcafe 和 oschina 上建立了 CocoaPods 索引庫(kù)的鏡像悉稠,因?yàn)?gitcafe
和 oschina
的服務(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中,最終格式如下:
其中
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
的下載速度~樓主表示,都怪你讓我連輸了三把排位挪捕!ヽ(ˋДˊ)ノヽ(ˋДˊ)ノヽ(ˋДˊ)ノ