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

簡介

CocoaPods是一個負責管理iOS項目中第三方開源代碼的工具,使用CocoaPods可以節省設置和更新第三方開源庫的時間并提高工作效率。
下面簡單介紹一下,怎樣安裝Cocoapods:

一. 搭建ruby環境

一般Mac OS已經自帶Ruby環境,可在終端輸入 ruby -v 查看當前版本

$ 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 可查看當前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: 如果在使用上面的指令時,報類似以下這個錯誤:

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

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

gem update --system

這樣會報上面的錯誤, 改成下面這個即可:

sudo gem update --system

二. 安裝Cocoapods

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

sudo gem install cocoapods 

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

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

pod --version

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

sudo gem install cocoapods --pre

如果你的MacOS系統是在10.11+, 會報以下錯誤:

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.

這因為沒有寫入的權限, 只需要將指令改為下面這個,換一個保存路徑即可:

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

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

使用 gem 查看當前的Pod版本:

$ gem list

會輸出很多,只需要查看 cocoapods 項

cocoapods (1.9.0.beta.2, 1.8.4)

查看當前 cocoapods 版本:

$ pod --version

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

$ sudo gem uninstall cocoapods -v 版本號

例如:

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

這里我移除了 1.9.0.beta.2 版本,回車后會要求輸入電腦密碼,成功會輸出以下內容:

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.進入工程的根目錄

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

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

以下2--4步,現在已不建議使用,創建Podfile文件,cd到項目根目錄后,直接輸入 pod init 即可新建一個含有對應target的Podfile文件,雙擊即可打開,在里面添加想要的第三方庫頭文件即可!

2.新建Podfile文件

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

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

這時候,工程根目錄下會多個Podfile文件...

3.打開Podfile文件

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

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

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

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

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

編輯完成后,按下esc鍵,進入命令行模式,然后按 shift+: 后輸入wq(保存并退出),回車即可保存編輯內容并退出編輯!
如果不知道三方庫是否支持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 ,即可開始下載所需的庫文件,時間可能會比較久,下載成功后會有如下輸出:

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的安裝及下載文件就算完成了!
打開項目文件夾會發現多了個Pods 文件夾和Podfile ,Podfile.lock,還有一個 .xcworkspace 文件,此時再打開工程的話就不能用 .xcodeproj 了,而是用新生成的.xcworkspace文件.
pod在為我們下在這些三方庫文件的同時也為我們使用這些庫文件所需要在工程中的配置也一并配置好了,使用時只需直接導入相應的頭文件!

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

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

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

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

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

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

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

(完)

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,923評論 6 535
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,740評論 3 420
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,856評論 0 380
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,175評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,931評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,321評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,383評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,533評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,082評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,891評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,618評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,319評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,732評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,987評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,794評論 3 394
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,076評論 2 375

推薦閱讀更多精彩內容