Cocoapods的安裝和使用

一、什么是CocoaPods

在iOS應(yīng)用開發(fā)過程中,有很多地方需要借助第三方代碼,來(lái)提高我們的開發(fā)效率。但是,一個(gè)程序中我們可能會(huì)用到許多的第三方,這些第三方的編寫方式有很多區(qū)別,比如有的是使用MRC編寫的,但是我們的項(xiàng)目可能是ARC環(huán)境編寫的,如何正確的配置各種各樣的第三方呢?使用CocoaPods來(lái)替我們管理。是我們的最佳選擇。
CocoaPods是OS X以及iOS下的第三方管理工具,CocoaPods可以為我們的程序添加一個(gè)“Pods”的依賴庫(kù),并且可以為我們對(duì)這些第三方類庫(kù)做各種各樣的配置,比如ARC環(huán)境下使用MRC環(huán)境編寫的第三方類庫(kù)的時(shí)候,它就會(huì)為我們配置-fno-objc-arc,它所管理的第三方類庫(kù),必須是要符合它的一種“標(biāo)準(zhǔn)”的,并不是隨便一個(gè)類庫(kù)都能在其中管理,這樣就保證了第三方類庫(kù)的質(zhì)量。

二、CocoaPods的運(yùn)行原理

CocoaPods的源碼在github上,項(xiàng)目中有一個(gè)列表,列表內(nèi)存放著所有符合CocoaPods標(biāo)準(zhǔn)的第三方類庫(kù)的信息,包括類庫(kù)名、版本信息、在github上的地址等。我們?cè)诒镜匕惭b好CocoaPods之后,使用pod init
命令,就是在本地項(xiàng)目中添加一個(gè)Podfile文件,該文件中列出了我們需要被管理的第三方的信息,當(dāng)我們使用pod install
命令的時(shí)候就會(huì)向CocoaPods發(fā)送一個(gè)命令,CocoaPods會(huì)在本地生成一個(gè)Pods依賴庫(kù),這個(gè)庫(kù)中就有我們需要的第三方類庫(kù)。

三、Mac系統(tǒng)下安裝CocoaPods

安裝CocoaPods需要ruby運(yùn)行環(huán)境,Mac系統(tǒng)中已經(jīng)為我們集成了ruby運(yùn)行環(huán)境,我們使用ruby的gem命令,就可以輕松安裝。在此之前我們先檢查一下我們的ruby和gem是不是太老,否則會(huì)有問題。

1、檢查ruby的版本

// 終端輸入
ruby -v
// 如果出現(xiàn)類似如下的信息則表示系統(tǒng)安裝了最新的版本
ruby 2.0.0p481 (2014-05-08 revision 45883) [universal.x86_64-darwin14]

2、查看gem版本

gem -v

3、更新ruby環(huán)境

檢查完后,如果你的gem太老,可以使用gem的更新命令進(jìn)行升級(jí)

// 終端輸入
sudo gem update -system 
// 注意這里要加sudo不然會(huì)提示沒有權(quán)限操作
// 終端提示輸入密碼,有時(shí)候可能你輸入密碼,終端看上去沒有反應(yīng),不用管直接輸入完密碼回車即可

4、更換軟件源

因?yàn)槟J(rèn)的官方的安裝源https://rubygem.org/ 使用的是亞馬遜的云服務(wù),被“墻”了,所以需要更換其他的軟件源,下面是淘寶提供的安裝源https://ruby.taobao.org/

// 移除默認(rèn)的安裝源 終端輸入
gem sources --remove https://rubygems.org/
// 終端顯示:https://rubygems.org/ removed from sources
// 添加淘寶源gem sources --add https://ruby.taobao.org/
// 終端顯示:https://ruby.taobao.org/ added to sources
// 查看一下更換結(jié)果
// 終端輸入
gem sources -l
// 終端顯示:
*** CURRENT SOURCES ***https://ruby.taobao.org/

5、開始安裝cocoaPods

// 終端輸入:
sudo gem install cocoapods   
// 注意 前面一定要加sudo

終端提示輸入系統(tǒng)密碼,輸入密碼回車后會(huì)輸出一大串信息,出現(xiàn)類似21 gem install
,表示安裝完畢:(這里可能會(huì)花一點(diǎn)時(shí)間,這是因?yàn)镃ocoaPods正在下載一些信息到你的項(xiàng)目中),如果你嫌慢,可以使用國(guó)內(nèi)服務(wù)器上的CocoaPods索引庫(kù)的鏡像來(lái)更新索引。以下是使用oschina上的鏡像,當(dāng)然你也可以使用其他的鏡像。

// 終端輸入
pod repo remove master 
// 移除原來(lái)的版本控制
pod repo add master http://git.oschina.net/akuandev/Specs.git 
// 添加新的版本控制pod repo update 
// 更新

6、使用CocoaPods來(lái)簡(jiǎn)化我們的開發(fā)吧

Podfile 文件是用來(lái)用來(lái)聲明項(xiàng)目代碼相關(guān)性的,我們要在這個(gè)文件中寫入我們需要添加管理的第三方類庫(kù)。
在終端中用cd命令進(jìn)入你的項(xiàng)目.xcodeproj文件所在的目錄,通過以下命令來(lái)創(chuàng)建一個(gè)Podfile文件

cd "項(xiàng)目路徑"
pod init

你生成的Podfile文件中可能包含如下信息

platform :ios, '9.0' target "你的項(xiàng)目名" 
do end 

編輯Podfile文件,這里可以用vim編輯,也可以用文本編輯工具打開Podfile文件進(jìn)行編輯,將需要的第三方的名字以及版本信息加入文件. (注:以下內(nèi)容不是終端中輸入的代碼,是要寫在Podfile文件里面的)

pod "AFNetworking", "~> 2.0"
pod 'SDWebImage', '~>3.7'

接下來(lái),通過以下代碼就可以輕松安裝第三方了

// 終端輸入
pod install
// 等待安裝完成
Updating local specs repositories
Analyzing dependencies
Downloading dependencies
Installing AFNetworking (2.6.1)
Installing SDWebImage (3.7.3)
Generating Pods project
Integrating client project
[!] Please close any current Xcode sessions and use `AVPlayerTest.xcworkspace` for this project from now on.
Sending stats
Pod installation complete! There are 2 dependencies from the Podfile and 2 total
pods installed.

到此CocoaPods就安裝完成了。需要注意的是:1、打開你的項(xiàng)目,你會(huì)發(fā)現(xiàn)多處許多文件,下次打開項(xiàng)目時(shí),需要打開.xcworkspace文件才可以使用剛添加的Pods依賴庫(kù)里面的第三方類庫(kù)。而不是以前的.xcodeproj文件。2、當(dāng)你想添加新的第三方的時(shí)候,只需要在Podfile文件里面寫入,然后執(zhí)行一次pod update
命令。3、如果你想卸載不需要的第三方,直接在Podfile文件里面刪除那個(gè)第三方的信息,然后執(zhí)行一次pod update
即可。

7、Podfile.lock

安裝過程中,CocoPods會(huì)使用遞歸來(lái)分析所有的需求,并且建立一個(gè)代碼相關(guān)性的圖,最后將Podfile序列化為Podfile.lock比如,如果兩個(gè)庫(kù)都需要使用AFNetworking,CocoaPods會(huì)確定一個(gè)同時(shí)能被這兩庫(kù)使用的版本,然后將同一個(gè)安裝版本鏈接到兩個(gè)不同的庫(kù)中。

8、pod try

如果你在安裝一個(gè)第三方庫(kù)之前,想要先試用一下,就可以使用try命令。只需要在try的后面加上你想試用的第三方的名稱即可

pod try AFNetworking

四、其他問題

1、CocodaPods遵循語(yǔ)義化版本規(guī)范,有時(shí)候,我們需要的第三方可能不在CocoaPods公共git倉(cāng)庫(kù)中,此時(shí),你可以使用其它的Git或者SVN倉(cāng)庫(kù)取代,并可以指定具體的commit、branch或tag2、在安裝過程中,可能會(huì)有如下錯(cuò)誤:

這是因?yàn)閄code未安裝或者未啟用command line developer tools只需在Xcode中安裝或啟用一下即可:打開Xcode,commend+,打開偏好設(shè)置,選擇啟用Command Line Tools版本

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容