[Cocoapods]第三方庫管理工具Cocoapods安裝及使用

簡介

CocoaPods是一個(gè)負(fù)責(zé)管理iOS項(xiàng)目中第三方開源代碼的工具元扔,使用CocoaPods可以節(jié)省設(shè)置和更新第三方開源庫的時(shí)間并提高工作效率。
下面簡單介紹一下,怎樣安裝Cocoapods:

一. 搭建ruby環(huán)境

一般Mac OS已經(jīng)自帶Ruby環(huán)境,可在終端輸入 ruby -v 查看當(dāng)前版本

$ ruby -v  
ruby 2.0.0p645 (2015-04-13 revision 50299) [universal.x86_64-darwin15]  

如果需要更新,可使用下面的額指令:

sudo gem update --system 

然后把Ruby鏡像更換為ruby-china的鏡像,避免被墻

終端輸入:
gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.com/

如下:

$ gem sources --remove  https://rubygems.org/   
https://rubygems.org/ removed from sources  
$ gem sources -a https://gems.ruby-china.com/
https://gems.ruby-china.com/ added to sources  

也可使用清華的源:

https://mirrors.tuna.tsinghua.edu.cn/rubygems/

輸入指令 gem sources -l 可查看當(dāng)前Ruby鏡像:

$ gem sources -l  
*** CURRENT SOURCES ***  
https://gems.ruby-china.com/    

也可使用清華的源:

https://mirrors.tuna.tsinghua.edu.cn/rubygems/

Ruby鏡像即替換成功,下面開始安裝cocoapods!

需要的注意的是:
請盡可能用比較新的 RubyGems 版本闲孤,建議 2.6.x 以上。

$ sudo gem update --system # 這里請翻墻一下
$ gem -v
2.6.3

PS: 如果在使用上面的指令時(shí),報(bào)類似以下這個(gè)錯(cuò)誤:

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the ...

這是權(quán)限問題, 可在指令前加上 sudo, 這樣需要你輸入電腦密碼; 注意, 這里輸入密碼的時(shí)候, 是不會有顯示的, 直接輸入結(jié)束回車即可.
例如, 上面的錯(cuò)誤是我在升級gem的時(shí)候遇到的, 開始我的指令是:

gem update --system

這樣會報(bào)上面的錯(cuò)誤, 改成下面這個(gè)即可:

sudo gem update --system

二. 安裝Cocoapods

打開終端,輸入以下命令:

sudo gem install cocoapods 

等待安裝完成!
然后輸入pod setup命令配置CocoaPods(也可以不輸入,不輸入的話第一次使用pod命令的時(shí)候也會自動執(zhí)行)

如果需要查看當(dāng)前Cocoapods的版本, 可使用下面的指令:

pod --version

如果需要升級Cocoapods,可以輸入上面的安裝指令, 或者:

sudo gem install cocoapods --pre

如果你的MacOS系統(tǒng)是在10.11+, 會報(bào)以下錯(cuò)誤:

ERROR:  While executing gem ... (Errno::EPERM)
    Operation not permitted - /usr/bin/xcodeproj

或者

ERROR:  While executing gem ... (Gem::FilePermissionError)
    You don't have write permissions for the /usr/bin directory.

這因?yàn)闆]有寫入的權(quán)限, 只需要將指令改為下面這個(gè)藕溅,換一個(gè)保存路徑即可:

sudo gem install -n /usr/local/bin cocoapods --pre 

移除/移除指定版本/安裝指定版本的cocoapods

使用 gem 查看當(dāng)前的Pod版本:

$ gem list

會輸出很多询吴,只需要查看 cocoapods 項(xiàng)

cocoapods (1.9.0.beta.2, 1.8.4)

查看當(dāng)前 cocoapods 版本:

$ pod --version

然后,輸入以下指令刪除該版本:

$ sudo gem uninstall cocoapods -v 版本號

例如:

$ sudo gem uninstall cocoapods -v 1.9.0.beta.2

這里我移除了 1.9.0.beta.2 版本沽损,回車后會要求輸入電腦密碼灯节,成功會輸出以下內(nèi)容:

Successfully uninstalled cocoapods-1.9.0.beta.2

然后安裝指定版本的 cocoapods

$ sudo gem install cocoapods -v 1.8.4

這里我安裝了 1.8.4 版本,成功后會輸出:

Successfully installed cocoapods-1.8.4
Parsing documentation for cocoapods-1.8.4
Done installing documentation for cocoapods after 2 seconds
1 gem installed

三. 簡單使用

1.進(jìn)入工程的根目錄

終端輸入cd 工程根目錄
PS:有些小伙伴不知道怎么查看文件的目錄,其實(shí)很簡單,輸入cd后空一格,然后拖動文件夾到終端即可自動生成文件目錄!

macdeMacBook-Pro:~ Artron_LQQ$ cd /Users/mac/Desktop/LQQAFNetworking2.0  
macdeMacBook-Pro:LQQAFNetworking2.0 Artron_LQQ$  

以下2--4步绵估,現(xiàn)在已不建議使用炎疆,創(chuàng)建Podfile文件,cd到項(xiàng)目根目錄后国裳,直接輸入 pod init 即可新建一個(gè)含有對應(yīng)target的Podfile文件形入,雙擊即可打開,在里面添加想要的第三方庫頭文件即可缝左!

2.新建Podfile文件

終端輸入touch Podfile (注意Podfile的大小寫):

macdeMacBook-Pro:LQQAFNetworking2.0 Artron_LQQ$ touch Podfile  
macdeMacBook-Pro:LQQAFNetworking2.0 Artron_LQQ$  

這時(shí)候,工程根目錄下會多個(gè)Podfile文件...

3.打開Podfile文件

終端輸入vi Podfile,即可打開Podfile文件:

~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
"Podfile" 0L, 0C 
4.編輯Podfile文件

終端輸入 i 即可進(jìn)入文件的編輯模式,然后輸入需要安裝的庫文件

platform :iOS,'7.0'  
pod "AFNetworking","~>2.5"  
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
~                                                                                 
-- INSERT --  

platform :表示類庫支持的最低系統(tǒng)版本
pod 命令是用于導(dǎo)入第三方庫,后面的"~>2.5"是指定導(dǎo)入庫的版本,如果不加,即導(dǎo)入最新版本

編輯完成后,按下esc鍵,進(jìn)入命令行模式,然后按 shift+: 后輸入wq(保存并退出),回車即可保存編輯內(nèi)容并退出編輯!
如果不知道三方庫是否支持pod或者庫的版本,可用 pod search 命令查詢:

macdeMacBook-Pro:LQQAFNetworking2.0 Artron_LQQ$ pod search AFNetworking  
  
  
-> AFNetworking (3.0.4)  
   A delightful iOS and OS X networking framework.  
   pod 'AFNetworking', '~> 3.0.4'  
   - Homepage: https://github.com/AFNetworking/AFNetworking  
   - Source:   https://github.com/AFNetworking/AFNetworking.git  
   - Versions: 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 3.0.0-beta.3, 3.0.0-beta.2,  
   3.0.0-beta.1, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0,  
   2.4.1, 2.4.0, 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0, 2.0.3,  
   2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4, 1.3.3, 1.3.2,  
   1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1,  
   0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]  
   - Subspecs:  
     - AFNetworking/Serialization (3.0.4)  
     - AFNetworking/Security (3.0.4)  
     - AFNetworking/Reachability (3.0.4)  
     - AFNetworking/NSURLSession (3.0.4)  
     - AFNetworking/UIKit (3.0.4)  
macdeMacBook-Pro:LQQAFNetworking2.0 Artron_LQQ$   
5.下載文件

以上完成后,在終端輸入: pod install ,即可開始下載所需的庫文件,時(shí)間可能會比較久,下載成功后會有如下輸出:

macdeMacBook-Pro:LQQAFNetworking2.0 Artron_LQQ$ pod install  
Updating local specs repositories  
  
CocoaPods 1.0.0.beta.2 is available.  
To update use: `gem install cocoapods --pre`  
[!] This is a test version we'd love you to try.  
  
For more information see http://blog.cocoapods.org  
and the CHANGELOG for this version http://git.io/BaH8pQ.  
  
Analyzing dependencies  
Downloading dependencies  
Installing AFNetworking (2.6.3)  
Generating Pods project  
Integrating client project  
  
[!] Please close any current Xcode sessions and use `LQQAFNetworking2.0.xcworkspace` for this project from now on.  
Sending stats  
Pod installation complete! There is 1 dependency from the Podfile and 1 total  
pod installed.  
macdeMacBook-Pro:LQQAFNetworking2.0 Artron_LQQ$   

到此,Cocoapods的安裝及下載文件就算完成了!
打開項(xiàng)目文件夾會發(fā)現(xiàn)多了個(gè)Pods 文件夾和Podfile ,Podfile.lock,還有一個(gè) .xcworkspace 文件,此時(shí)再打開工程的話就不能用 .xcodeproj 了,而是用新生成的.xcworkspace文件.
pod在為我們下在這些三方庫文件的同時(shí)也為我們使用這些庫文件所需要在工程中的配置也一并配置好了,使用時(shí)只需直接導(dǎo)入相應(yīng)的頭文件!

PS: 如果找不到頭文件,可做如下設(shè)置:
在工程的Build Settings搜索Search Paths亿遂,然后在User header search paths中添加$(SRCROOT)并選擇recursive(也就是遞歸查找)

第一次安裝的時(shí)候需要全程使用終端指令操作,待項(xiàng)目添加pod后,就可以打開項(xiàng)目,直接在項(xiàng)目中的Podfile中編輯,添加相應(yīng)庫即可

如果需要新增庫,就在Podfile文件中新增:pod 第三方庫名
如果需要刪除,就將庫文件從Podfile文件中刪除

然后,再在終端中輸入 pod install,等待完成即可!

注意:所有在終端中操作pod指令的前提是,一定要cd到項(xiàng)目的根目錄...

PS: 如果在以后使用pod install 或者pod update的時(shí)候,可能會卡在Updating local specs repositories這里很久,這是在升級cocoa pods本地的specs倉庫,其實(shí)這個(gè)多數(shù)情況下是沒有必要的,所以可以使用如下指令跳過這個(gè)升級:

pod install --verbose --no-repo-update  
pod update --verbose --no-repo-update  
或者  
pod install --no-repo-update  
pod update --no-repo-update  

(完)

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市渺杉,隨后出現(xiàn)的幾起案子蛇数,更是在濱河造成了極大的恐慌,老刑警劉巖少办,帶你破解...
    沈念sama閱讀 206,378評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件苞慢,死亡現(xiàn)場離奇詭異,居然都是意外死亡英妓,警方通過查閱死者的電腦和手機(jī)挽放,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,356評論 2 382
  • 文/潘曉璐 我一進(jìn)店門绍赛,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人辑畦,你說我怎么就攤上這事吗蚌。” “怎么了纯出?”我有些...
    開封第一講書人閱讀 152,702評論 0 342
  • 文/不壞的土叔 我叫張陵蚯妇,是天一觀的道長。 經(jīng)常有香客問我暂筝,道長箩言,這世上最難降的妖魔是什么盒齿? 我笑而不...
    開封第一講書人閱讀 55,259評論 1 279
  • 正文 為了忘掉前任收捣,我火速辦了婚禮,結(jié)果婚禮上没佑,老公的妹妹穿的比我還像新娘鸵赖。我一直安慰自己务漩,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,263評論 5 371
  • 文/花漫 我一把揭開白布它褪。 她就那樣靜靜地躺著饵骨,像睡著了一般。 火紅的嫁衣襯著肌膚如雪茫打。 梳的紋絲不亂的頭發(fā)上居触,一...
    開封第一講書人閱讀 49,036評論 1 285
  • 那天,我揣著相機(jī)與錄音包吝,去河邊找鬼饼煞。 笑死,一個(gè)胖子當(dāng)著我的面吹牛诗越,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播息堂,決...
    沈念sama閱讀 38,349評論 3 400
  • 文/蒼蘭香墨 我猛地睜開眼嚷狞,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了荣堰?” 一聲冷哼從身側(cè)響起床未,我...
    開封第一講書人閱讀 36,979評論 0 259
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎振坚,沒想到半個(gè)月后薇搁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,469評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡渡八,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,938評論 2 323
  • 正文 我和宋清朗相戀三年啃洋,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了传货。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,059評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡宏娄,死狀恐怖问裕,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情孵坚,我是刑警寧澤粮宛,帶...
    沈念sama閱讀 33,703評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站卖宠,受9級特大地震影響巍杈,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜扛伍,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,257評論 3 307
  • 文/蒙蒙 一秉氧、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧蜒秤,春花似錦汁咏、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,262評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至纸泡,卻和暖如春漂问,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背女揭。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工蚤假, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人吧兔。 一個(gè)月前我還...
    沈念sama閱讀 45,501評論 2 354
  • 正文 我出身青樓磷仰,卻偏偏與公主長得像,于是被迫代替她去往敵國和親境蔼。 傳聞我的和親對象是個(gè)殘疾皇子灶平,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,792評論 2 345

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

  • CocoaPods 是什么? CocoaPods 是一個(gè)負(fù)責(zé)管理 iOS 項(xiàng)目中第三方開源庫的工具箍土。CocoaPo...
    朝洋閱讀 25,633評論 3 51
  • CocoaPods 是開發(fā) OS X 和 iOS 應(yīng)用程序的一個(gè)第三方庫的依賴管理工具逢享。利用 CocoaPods,...
    寶山瀟灑哥閱讀 4,021評論 0 1
  • 1吴藻、我的青春里有你 初二3班屈凱文 一 “喂瞒爬,怎么還不起床...
    不如遇見閱讀 640評論 0 0
  • 從5月31日開始申請公眾號侧但、企鵝號矢空,到今天為止已經(jīng)1個(gè)月了,期間發(fā)了6篇文章俊犯,4個(gè)視頻妇多,效果感覺不是很理想,可能和...
    華僑君閱讀 170評論 0 0
  • 男神也救不了我燕侠。好好得練者祖,好好的記。一下就被刷下來了绢彤,教的時(shí)候教練什么都沒說七问。從沒說過這條。媽的茫舶,一定要相信品牌的...
    蒙媽成長記閱讀 154評論 0 0