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
紅色位置輸入密碼,回車開始下載,這里不會有任何提示,光標也不會變動,很正常,不要以為輸入沒反應
開始安裝,安裝時間可能比較長,安裝成功之后的提示如下,
- 然后輸入
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.找到項目根目錄,例如下圖
終端輸入 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.如何找到自己想要的庫
- 首先到github 上去搜索看有沒有感興趣的,例如搜索 afn
得到結果會有如下的文字階段,直接拷貝到profile中
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target 'TargetName' do
pod 'AFNetworking', '~> 3.0'
end
- 輸入 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