01 - CocoaPods 安裝和使用步驟以及可能出現的問題

1.首先什么是CocoaPods

CocoaPods是OS X和iOS下的一個第三類庫管理工具,通過CocoaPods工具我們可以為項目添加被稱為“Pods”的依賴庫(這些類庫必須是CocoaPods本身所支持的),并且可以輕松管理其版本。

Cocoapods意義體現在兩個方面。

第一,在引入第三方庫時它可以自動為我們完成各種各樣的配置,包括配置編譯階段、連接器選項、甚至是ARC環境下的-fno-objc-arc配置等。

第二,使用CocoaPods可以很方便地查找新的第三方庫,這些類庫是比較“標準的”,而不是網上隨便找到的,這樣可以讓我們找到真正好用的類庫。

2.CocoaPods 安裝步驟

安裝cocosPods的步驟: Xcode->homebrew->RVM->Ruby->CocoaPods

1.首先安裝xcode ,然后安裝homebrew 具體安裝方法請看http://brew.sh/,就一句話復制粘貼到終端運行即可

2.安裝RVM 來升級Ruby

a.終端輸入rvm -v查看是否安裝

b.安裝過就算了,沒有安裝繼續在終端輸入 curl -L get.rvm.io | bash -s stable

c.需要稍等一會兒

d.終端依次輸入source ~/.bashrc source ~/.bash_profile

e.查看rvm -v 是否安裝成功!

3.首先升級Ruby環境

a.終端輸入rvm list 查看ruby的等級,要安裝cocosPods ,ruby必須要2.2.2以上(注意一個坑!!,必須要2.3.0,如果輸入2.3就會出錯)

b. 打開終端 輸入rvm list known,

c.rvm install 2.3.0 //安裝一個ruby版本

4.修改Ruby地址

我們更新和下載框架的網站是cocoapods.org,有可能被墻了,淘寶的映像源已經停止維護更新了,需要我們使用最新的源

a. 首先嘗試更新

終端輸入 sudo gem update --system

b.刪除沒有用的源,注意淘寶已經停止維護,如果有淘寶的源也要刪除

終端輸入 gem sources --remove https://rubygems.org/

gem sources --remove https://ruby.taobao.org/ //如果安裝了淘寶的鏡像

c.加入新的源,現在ruby-china會持續更新維護,他是實時的

gem sources -a https://gems.ruby-china.org/

d.OK, 輸入 gem sources -l 查看下地址是否替換成功了,如果顯示的下面的就表示成功!

3.開始安裝CocoaPods

  • 終端輸入 sudo gem install cocoapods

顯示如下
image

紅色位置輸入密碼,回車開始下載,這里不會有任何提示,光標也不會變動,很正常,不要以為輸入沒反應

開始安裝,安裝時間可能比較長,安裝成功之后的提示如下,

image
  • 然后輸入 pod setup 用于安裝github 的 master源

3.CocosPods 升級步驟

有時候管理一個基于FMDB的項目類庫,會出現下面的錯誤

$ pod install
[!] The 'master' repo requires CocoaPods 0.32.1 -

需要更新到最新的cocosPods

pod --version //查看當前的版本

sudo gem update --system // 先更新gem,國內需要切換源

gem sources -l //查看是否是正確的源

//下面就是安裝步驟,即更新步驟

sudo gem install cocoapods //安裝

pod setup

//再次查看版本

pod --version

4.如果集成到項目中

4.1 集成 沒有CocoaPods 管理過的項目(新項目同理)

a.找到項目根目錄,例如下圖

image

終端輸入 cd ,然后空一格,將上圖藍色的文件直接拖到cd 后面,回車即可

終端輸入 ls 查看,子目錄是不是對的上,判斷自己是否進入文件根目錄了

b.確定進入到需要管理的項目的根目錄,我們在終端輸入

pod init,開始進行CocoaPods管理,這時會發現,文件中多了一個上圖紅圈的文件,Podfile文件

[圖片上傳失敗...(image-83cd5e-1525312200069)]

c. 我們使用Xcode 或者 Subline打開Podfile ,用文本編輯器打開有時候有問題,打開如下

[圖片上傳失敗...(image-5d7384-1525312200069)]

d. 在profile輸入自己想要輸入的內容,舉例如下

--> 最簡單的寫法如下

pod 'Reachability'

--> 指定平臺版本的寫法

platform :ios    
pod 'Reachability',  '~> 3.0.0'    
pod 'SBJson', '~> 4.0.0'    

platform :ios, '7.0'    
pod 'AFNetworking', '~> 2.0' 

--> 如果是swift版本,如果加入依賴,需要打開,就是去掉#

# Uncomment this line if you're using Swift or would like to use dynamic frameworks
# use_frameworks!

--> 如果profile不想放在根目錄,理論上也是可以的,如果這樣,我們需要如下書寫

//這里指定具體的工程入口文件地址,如果不是在同級目錄,這句話不能少!!!!
xcodeproj "/Users/wangzz/Desktop/CocoaPodsTest/CocoaPodsTest.xcodeproj"  

platform :ios    
pod 'Reachability',  '~> 3.0.0'    
pod 'SBJson', '~> 4.0.0'    

platform :ios, '7.0'    
pod 'AFNetworking', '~> 2.0' 

--> 如果是多個target 公用 同一套依賴庫

link_with 'CocoaPodsTest', 'Second'  
platform :ios    
pod 'Reachability',  '~> 3.0.0'    
pod 'SBJson', '~> 4.0.0'    

platform :ios, '7.0'    
pod 'AFNetworking', '~> 2.0' 

具體的語法請參考http://www.lxweimin.com/p/8af475c4f717

4.2 已經集成,依賴庫更新

直接在終端輸入 pod update

5.如何找到自己想要的庫

  1. 首先到github 上去搜索看有沒有感興趣的,例如搜索 afn

得到結果會有如下的文字階段,直接拷貝到profile中

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'

target 'TargetName' do
pod 'AFNetworking', '~> 3.0'
end
  1. 輸入 pod search 關鍵字(英文) ,例如 pod search afnetwork 會搜索出來一堆,看結果

[圖片上傳失敗...(image-c38f68-1525312200069)]

復制 pod 'AFNetworking', '~> 3.0.4' 到 profile 中

5.安裝依賴庫

如果文件中沒有profile.lock (執行完pod install之后,會生成一個Podfile.lock文件。這個文件看起來跟我們關系不大,實際上絕對不應該忽略它,該文件用于保存已經安裝的Pods依賴庫的版本,鑒于Podfile.lock文件對團隊協作如此重要,我們需要將它添加到版本管理中)說明 還沒有開始依賴庫管理,

我們需要在終端執行 pod install

如果修改了profile 同樣需要我們在終端執行 pod install

如果我們并沒有寫死profile 中的依賴庫,也就是說我們沒有指定哪個版本的依賴庫(后面沒有'~> 2.0' 這類),我們可以使用 pod update 來更新, 無論有沒有profile.lock profile 都會自動更新到最新

6.參考文獻

關于profilehttp://blog.csdn.net/wzzvictory/article/details/19178709

ruby-china的官方https://gems.ruby-china.org/

最新cocosPods的詳細解釋http://www.lxweimin.com/p/2ef8a38416c4

這個文檔有坑,以本文為準http://www.lxweimin.com/p/bc23609101f5

如何更新ruby的文章http://blog.csdn.net/luohancc/article/details/46897247

cocosPod 升級方案http://www.cnblogs.com/brycezhang/p/3675670.html

?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容