CocoaPods是一個負責管理iOS項目中第三方開源庫的工具。CocoaPods的項目源碼在Github上管理。該項目開始於2011年8月12日,在這兩年多的時間裏,它持續保持活躍更新。開發iOS項目不可避免地要使用第三方開源庫,CocoaPods的出現使得咱們能夠節省設置和更新第三方開源庫的時間,在iOS開發中常常會用到第三方庫如AFNetworking,ASIHttpRequest等,在使用第三方庫時,你除了要導數源碼外,可是,集成這些依賴庫須要咱們手動去配置,還有當這些第三方庫發生了更新,還須要手動去更新項目。這就顯得很是麻煩。有麻煩天然有解決辦法,CocoaPods就是爲了解決這個問題而生的。經過CocoaPods,咱們能夠將第三方的依賴庫統一管理起來,配置和更新只須要經過簡單的幾行命令便可完成。ios
二.CocoaPods的下載及安裝git
mac系統已經默認安裝好Ruby環境,若是你不肯定本身系統中是否有Ruby的,能夠在終端中輸入命令行:ruby -v查看當前ruby版本。如圖: github
肯定之後,接下來就能夠下載和安裝CocoaPods,只須要一行命令。在Terminator(也就是終端)中輸入如下命令:json
sudo gem install cocoapods
vim
可是,在終端中敲入這個命令以後,會發現半天沒有任何反應。緣由是那堵牆阻擋了cocoapods.org。xcode
解決辦法是,咱們能夠用阿里雲的Ruby鏡像來訪問cocoapods。按照下面的順序在終端中敲入依次敲入命令:ruby
首先,檢查你的ruby源:工具
$gem sources -l
默認狀況下,終端應該返回以下信息:阿里雲
*** CURRENT SOURCES *** https://rubygems.org/
固然這個源在牆內是訪問不到的。所以咱們須要尋找一個能夠在國內訪問到的鏡像。目前筆者找到的是http://rubygems-china.oss.aliyuncs.com這個阿里雲的鏡像,固然隨着時間的推移,將來這個鏡像也有可能沒法訪問了,到時候就只能從新尋找了。spa
確認鏡像可用後,如今就要開始修改ruby源了。首先執行如下命令刪除原來的ruby源:
$gem sources --remove https://rubygems.org/
執行命令後可在終端看見如下信息:
https://rubygems.org/ removed from sources
而後下一步添加你找到的可用的鏡像源:
$gem sources -a http://rubygems-china.oss.aliyuncs.com
此時若是你再執行gem sources -l命令,就能看到當前鏡像源裏只有阿里雲這一個了。此時你就能夠從新執行這一段開頭的那句命令了:
$sudo gem install cocoapods
若是一切正常,你應該能看到一段安裝進度,以及最後有一條信息:
3 gems installed
確認看見這條信息,後先判斷的CocoaPods是否可使用,能夠用CocoaPods的搜索功能驗證一下。在終端中輸入:
pod search AFNetworking;
執行後可能會一直停在
Setting up CocoaPods master repo而後(好久)會出現以下錯誤:
解決辦法是:
這說明CocoaPods還不能正常使用,須要更新pod,下載它的一些依賴包;在終端中輸入:
$ pod setup
過一段時間以後,你會在終端中看到跟上面一樣的紅色的錯誤信息。
這說明某些環境緣由致使pod更新不了,可能緣由有,1)gem版本過低;2)github沒法連接;3).cocoapods目錄下的配置信息錯誤。咱們能夠一個一個來排除,
首先更新gem到最新版本,在終端中輸入:
$ sudo gem update --system
而後檢查是否能夠ping通github,在終端中輸入:
$ ping github.com
而後查看pob repo list:
$ pod repo list
說明Cocoapods在將它的信息下載到 ~/.cocoapods裏;
cd 到該目錄裏,用du -sh *命令來查看文件大小,結果顯示0 repos,說明沒有安裝成功;
在終端輸入:
cd ~/.cocoapods
進入cocoapods文件後在終端輸入:du -sh *
從新執行pod setup,過一段時間後提示setup completed,在終端中輸入 pod list,展現出安裝列表;
這樣總算安裝好了。接下來再一次輸入:
pod search AFNetworking
輸入事後它可能會報:
[!] Unable to find a pod with name, author, summary, or descriptionmatching `AFNetworking`
解決方案是:
輸入:
rm ~/Library/Caches/CocoaPods/search_index.json
後在一次輸入:pod search AFNetworking
就能夠咯。
三,cocoapods的使用
首先來到你的項目文件:
cd 項目文件的位置
而後,添加一個Podfile文件: vim Podfile
而後按i進入插入模式,進行編輯,在文件中輸入如下內容:
注意百度上不少舊版本輸入的類容:
platform :ios, '8.1' pod 'AFNetworking', '~> 2.0'
它會報:[!] The dependency `AFNetworking (~> 3.0)` is not used in any concrete target.
如今版本升級官方給的文檔是:
platform :ios, '8.0'
target '你的項目名稱' do
pod 'AFNetworking', '~> 3.0'
end
輸入完成後按ESC退出編輯模式,最後輸入:wq保存並退出文件。此時能夠發如今項目目錄下多了一個Podfile的文件,請注意這個文件必須與.xcodeproj在同一目錄下。
最後:
pod install
沒報錯就能夠了。