CocoaPods 安裝使用詳解

CocoaPods 從安裝到使用

沒(méi)用使用CocoaPods之前:

我們需要將第三方的源代碼文件復(fù)制到項(xiàng)目中

可能需要各種配置

需要關(guān)注依賴(lài)包的更新,并手動(dòng)處理

這些活很煩、沒(méi)含量冕末、浪費(fèi)時(shí)間。這些問(wèn)題隨著CocoaPods的出現(xiàn)气笙,問(wèn)題解決了得哆!

CocoaPods作為iOS開(kāi)發(fā)的依賴(lài)管理工具,它的出現(xiàn)可以給開(kāi)發(fā)者節(jié)省更多時(shí)間虽画、免除不必要的煩惱舞蔽。安裝好CocoaPods之后,你只需要將用到第三方開(kāi)源庫(kù)码撰、自己的私有庫(kù)放到一個(gè)名為Podfile的文件中渗柿,然后在其目錄下執(zhí)行pod install。CocoaPods會(huì)將這些類(lèi)庫(kù)的源碼下載下來(lái)脖岛,并且為你的工程設(shè)置好相應(yīng)的系統(tǒng)依賴(lài)和編譯參數(shù)朵栖。

CocoaPods 的安裝

Mac 下都自帶 ruby ,但是經(jīng)過(guò)我的實(shí)驗(yàn)柴梆,不同版本的 ruby 安裝出的 cocoapods 的版本也是不同陨溅。我在沒(méi)有更新ruby 的情況下安裝的 cocoapods 是0.39.0版本,更新 ruby 之后

ruby --version

#ruby 2.3.1p112 (2016-04-26 revision 54768) [x86_64-darwin15]

當(dāng)然是用0.39.0的cocoapods绍在,也是可以正常使用的门扇。

若更新 ruby,你需要使用Homebrew揣苏。安裝 Homebrew :

ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

Homebrew 的簡(jiǎn)單使用:

搜索軟件:brew search 軟件名悯嗓,如brew search wget

安裝軟件:brew install 軟件名,如brew install wget

卸載軟件:brew remove 軟件名卸察,如brew remove wget

使用 Homebrew 更新 ruby

brew install ruby

gem sources 的處理脯厨。ruby 的軟件源https://rubygems.org因?yàn)槭褂玫氖莵嗰R遜的云服務(wù),所以被墻了坑质,需要更新一下 ruby 的源合武,使用如下代碼將官方的 ruby 源替換成國(guó)內(nèi)淘寶的源:

gem sources -l

gem sources --remove https://rubygems.org/

gem sources -a https://ruby.taobao.org/(淘寶鏡像源現(xiàn)在不再更新临梗,所以現(xiàn)在使用gem sources -a https://gems.ruby-china.org,具體參考https://ruby-china.org/topics/29250)

gem sources -l

升級(jí) gem

sudo gem update --system

使用 ruby 的 gem 命令安裝 cocoapods:

sudo gem install cocoapods

pod setup

pod setup執(zhí)行后稼跳,會(huì)輸出Setting up CocoaPods master repo盟庞,這一步驟是Cocoapods將它的信息下載到~/.cocoapods目錄下,耗時(shí)會(huì)比較久汤善。這時(shí)你只要耐心等待就好什猖。

配置完成之后,查看 cocoapods 版本:

pod --version

#1.0.1 //之后版本變化红淡,都會(huì)是 cocoapods 的最新版本

CocoaPods 的使用

查找你要使用的第三方庫(kù)不狮,比如搜索 BHNetwork

pod search BHNetwork

#-> BHNetwork (0.0.1)

#? 離散式請(qǐng)求,對(duì)AFNetworking的二次封裝

#? pod 'BHNetwork', '~> 0.0.1'

#? - Homepage: https://github.com/iBinaryOrg/BHNetwork

#? - Source:? https://github.com/iBinaryOrg/BHNetwork.git

#? - Versions: 0.0.1 [master repo]

#? - Subspecs:

#? ? - BHNetwork/BHNetworkLogger (0.0.1)

#? ? - BHNetwork/BHNetworkProtocol (0.0.1)

#? ? - BHNetwork/BHNetwork (0.0.1)

創(chuàng)建 Podfile

CocoaPods 的神奇都是起源于 Podfile 文件開(kāi)始的在旱。進(jìn)入到工程的根目錄摇零,創(chuàng)建空白的 Podfile 文件:

cd 你的工程根目錄

touch Podfile

編輯 Podfile

Podfile 的編輯工作,推薦使用 xcode 進(jìn)行編寫(xiě)桶蝎。

platform :ios, '7.0'

target :指定的Target do

#約束布局

pod 'Masonry', '~> 0.6.4'

#數(shù)據(jù)請(qǐng)求

pod 'BHNetwork', '~> 0.0.1'

#極光推送

pod 'JPush', '~> 2.1.5'

end

cocoapods 版本更新驻仅,Podfile文件中必須要加入target語(yǔ)句。

執(zhí)行 pod install 命令

編輯好 Podfile 文件之后登渣。進(jìn)入到工程目錄下(Podfile文件也在此目錄下)噪服,然后執(zhí)行pod install命令。這時(shí)绍豁,CocoaPods就開(kāi)始為我們做源碼下載芯咧、配置依賴(lài)關(guān)系等工作。

cd 你的工程根目錄

pod install

pod install 命令執(zhí)行成功只有竹揍,工程根目錄會(huì)多了.xcworkspace、Podfile.lock邪铲、Pods三個(gè)文件芬位。

之后,我們的開(kāi)發(fā)將是使用后綴為.xcworkspace的文件來(lái)開(kāi)發(fā)的带到。

執(zhí)行 pod update 命令

你可以更改 Podfile 文件昧碉,來(lái)調(diào)整你工程的依賴(lài)庫(kù)。

cd 你的工程根目錄

pod update

你可以使用pod update --no-repo-update來(lái)替換pod update揽惹,都說(shuō)替換之后被饿,執(zhí)行會(huì)快一點(diǎn)。

關(guān)于 Podfile.lock

當(dāng)你執(zhí)行pod install之后搪搏,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ù)版本不一致漏设。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市今妄,隨后出現(xiàn)的幾起案子郑口,更是在濱河造成了極大的恐慌,老刑警劉巖盾鳞,帶你破解...
    沈念sama閱讀 216,692評(píng)論 6 501
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件潘酗,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡雁仲,警方通過(guò)查閱死者的電腦和手機(jī)仔夺,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,482評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門(mén),熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)攒砖,“玉大人缸兔,你說(shuō)我怎么就攤上這事〈低В” “怎么了惰蜜?”我有些...
    開(kāi)封第一講書(shū)人閱讀 162,995評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)受神。 經(jīng)常有香客問(wèn)我抛猖,道長(zhǎng),這世上最難降的妖魔是什么鼻听? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 58,223評(píng)論 1 292
  • 正文 為了忘掉前任财著,我火速辦了婚禮,結(jié)果婚禮上撑碴,老公的妹妹穿的比我還像新娘撑教。我一直安慰自己,他們只是感情好醉拓,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,245評(píng)論 6 388
  • 文/花漫 我一把揭開(kāi)白布伟姐。 她就那樣靜靜地躺著,像睡著了一般亿卤。 火紅的嫁衣襯著肌膚如雪愤兵。 梳的紋絲不亂的頭發(fā)上,一...
    開(kāi)封第一講書(shū)人閱讀 51,208評(píng)論 1 299
  • 那天排吴,我揣著相機(jī)與錄音秆乳,去河邊找鬼。 笑死傍念,一個(gè)胖子當(dāng)著我的面吹牛矫夷,可吹牛的內(nèi)容都是我干的葛闷。 我是一名探鬼主播,決...
    沈念sama閱讀 40,091評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼双藕,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼淑趾!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起忧陪,我...
    開(kāi)封第一講書(shū)人閱讀 38,929評(píng)論 0 274
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤扣泊,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后嘶摊,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體延蟹,經(jīng)...
    沈念sama閱讀 45,346評(píng)論 1 311
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,570評(píng)論 2 333
  • 正文 我和宋清朗相戀三年叶堆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了阱飘。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,739評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡虱颗,死狀恐怖沥匈,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情忘渔,我是刑警寧澤高帖,帶...
    沈念sama閱讀 35,437評(píng)論 5 344
  • 正文 年R本政府宣布,位于F島的核電站畦粮,受9級(jí)特大地震影響散址,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜宣赔,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,037評(píng)論 3 326
  • 文/蒙蒙 一预麸、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧拉背,春花似錦师崎、人聲如沸。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 31,677評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)齐蔽。三九已至两疚,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間含滴,已是汗流浹背诱渤。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,833評(píng)論 1 269
  • 我被黑心中介騙來(lái)泰國(guó)打工, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留谈况,地道東北人勺美。 一個(gè)月前我還...
    沈念sama閱讀 47,760評(píng)論 2 369
  • 正文 我出身青樓递胧,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親赡茸。 傳聞我的和親對(duì)象是個(gè)殘疾皇子缎脾,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,647評(píng)論 2 354

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