CocoaPods簡(jiǎn)介
在我們開(kāi)發(fā)項(xiàng)目中,經(jīng)常會(huì)用到很多第三方庫(kù),在沒(méi)有CocoaPods之前,我們需要:把這些第三方庫(kù)源碼文件copy到項(xiàng)目中,或設(shè)置成git的submodule。
要正常使用這些開(kāi)源庫(kù),通常需要手動(dòng)添加一些系統(tǒng)的依賴(lài)庫(kù),比如一個(gè)網(wǎng)絡(luò)庫(kù)需要添加CFNetwork、SystemConfiguration、MobileCoreServices
、CoreGraphics等。有些庫(kù)可能我還需要設(shè)置-licucore 或-fno-objc-arc等。
如果我使用CocoaPods后,只需要將開(kāi)源庫(kù)放到名為Podfile文件中,在執(zhí)行pod install。CocoaPods就會(huì)自動(dòng)將這些開(kāi)源庫(kù)源碼下載下來(lái),并設(shè)置好相應(yīng)的系統(tǒng)依賴(lài)和編譯參數(shù)。對(duì)于我們來(lái)說(shuō)比較方便管理這些開(kāi)源庫(kù)了。
一、CocoaPods 的安裝
CocoaPods是用Ruby實(shí)現(xiàn)的,因此想要使用它需要安裝Ruby的運(yùn)行環(huán)境,不過(guò)mac OS默認(rèn)支持Ruby運(yùn)行的,所以我們不需要再安裝Ruby運(yùn)行環(huán)境了,直接通過(guò)命令安裝使用CocoaPods就可以。
其實(shí)安裝了Ruby運(yùn)行環(huán)境,下載安裝CocoaPods很簡(jiǎn)單,只需要在終端輸入一行命令即可:
$ sudo gem install cocoa pods
不過(guò)當(dāng)我們輸入完這行命令按下enter鍵,會(huì)發(fā)現(xiàn)半天沒(méi)反應(yīng),這是咱們國(guó)內(nèi)的特色,被墻給擋住了cocoapods.org,所以我們就需要替換Gem源。
1.替換gem源
gem是一個(gè)管理Ruby庫(kù)和程序的標(biāo)準(zhǔn)包,它通過(guò)Ruby gem源(如:http://rubygems.org/)來(lái)查找、安裝、升級(jí)、卸載軟件包。
移除Ruby現(xiàn)有的默認(rèn)源()
$ gem sources —removehttps://rubygems.org/
添加新的源
$ gem sources -ahttps://ruby.taobao.org/
檢查Ruby鏡像并且僅有taobao鏡像
$ gem sources -l
只有在終端顯示下面信息時(shí)才表示成功,當(dāng)前源只能有一個(gè)https://ruby.taobao.org/:
*** CURRENT SOURCES ***
2.安裝CocoaPods
OS X EI Capitan(10.11)之前的系統(tǒng)版本
$ sudo gem install cocoapods
$ pod setup
OS X EI Capitan(包括)之后的系統(tǒng)版本
$ sudo gem install -n /usr/local/bin cocoapods
$ pod setup
3.更新gem版本
$ sudo gem update --system
二、CocoaPods 的使用
1.在終端用cd命令到項(xiàng)目根目錄下,再使用search命令搜索類(lèi)庫(kù)名
$pod search 第三方庫(kù)名稱(chēng)
如:
$pod search AFNetworking
2.新建Podfile文件
$touch Podfile
3.編輯Podfile文件,執(zhí)行下面這條命令后就可以跳轉(zhuǎn)到Podfile文件進(jìn)行編輯
$vim Podfile
然后在Podfile文件中輸入下列文本:
platform?:ios,?‘9.0'
pod?"AFNetworking",?"~> 3.0"
這段文本可以在AFNetworking的github頁(yè)面找到。這兩句的意思是當(dāng)前AFNetworking支持的iOS最高版本是iOS9.0,要下載的版本是3.0。
編輯好后就可以保存退出了,vim下保存退出的命令是:
:wq
4.執(zhí)行導(dǎo)入命令,保存退出后執(zhí)行下面這條命令就可以安裝剛剛在Podfile文件中編輯的第三方庫(kù):
$pod install
5.更新第三方庫(kù)
$pod update