當你開發iOS應用時,會常用到不少第三方開源類庫,好比JSONKit,AFNetWorking等等。可能某個類庫又用到其餘類庫,因此要使用它,必須得另外下載其餘類庫,而其餘類庫又用到其餘類庫,「子子孫孫無窮盡也」,這也許是比較特殊的狀況。手動一個個去下載所需類庫十分麻煩。另一種常見狀況是,你項目中用到的類庫有更新,你必須得從新下載新版本,從新加入到項目中,十分麻煩。若是能有什麼工具能解決這些惱人的問題,那將「善莫大焉」。因此,你須要 CocoaPods。react
CocoaPods應該是iOS最經常使用最有名的類庫管理工具了,上述兩個煩人的問題,經過cocoaPods,只須要一行命令就能夠徹底解決,固然前提是你必須正確設置它。重要的是,絕大部分有名的開源類庫,都支持CocoaPods。因此,做爲iOS程序員的咱們,掌握CocoaPods的使用是必不可少的基本技能了。在咱們有了CocoaPods這個工具以後,只須要將用到的第三方開源庫放到一個名爲Podfile的文件中,而後在命令行執行$ pod install
命令。CocoaPods就會自動將這些第三方開源庫的源碼下載下來,而且爲個人工程設置好相應的系統依賴和編譯參數。ios
(1)# 先安裝 [Xcode](http://developer.apple.com/xcode/) 開發工具,它將幫你安裝好 Unix 環境須要的開發包git
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
(2)安裝RVM程序員
$ curl -L https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
期間可能會問你 sudo 管理員密碼,以及自動經過 Homebrew
安裝依賴包,等待一段時間後就能夠成功安裝好 RVM。github
而後,載入 RVM 環境(新開 Termal 就不用這麼作了,會自動從新載入的)shell
$ source ~/.rvm/scripts/rvm
修改 RVM 下載 Ruby 的源,到 Ruby China 的鏡像:api
echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db
檢查一下是否安裝正確xcode
$ rvm -v rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
(3)用 RVM 安裝 Ruby 環境ruby
$ rvm install 2.3.0
等待時間很是漫長的下載,編譯過程,完成之後,Ruby, Ruby Gems 就安裝好了。bash
(4)設置 Ruby 版本
RVM 裝好之後,須要執行下面的命令將指定版本的 Ruby 設置爲系統默認版本
$ rvm use 2.3.0 --default
一樣,也能夠用其餘版本號,前提是你有用 rvm install 安裝過那個版本
這個時候你能夠測試是否正確
$ ruby -v ruby 2.3.0 ... $ gem -v 2.5.1
查詢已經安裝的ruby
$ rvm list
卸載一個已安裝版本
$ rvm remove 2.0.0
(5)安裝 CocoaPods
由於Ruby的默認源使用的是cocoapods.org,國內訪問這個網址有時候會有問題,網上的一種解決方案是將其替換成其餘站點的,替換方式以下:
移除原始鏡像:
$gem source -r https://rubygems.org/
安裝其餘站點鏡像
$https://gems.ruby-china.org/
要想驗證是否替換成功了,能夠執行:
$ gem sources -l
正常的輸出結果:
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
在本地已經安裝好Ruby環境,那麼下載和安裝CocoaPods將十分簡單,只須要一行命令。輸入如下命令進行安裝 CocoaPods
$ sudo gem install cocoapods
*-*-*-*到這裏 CocoaPods 就安裝完成了*-*-*-*
爲了肯定AFNetworking是否支持CocoaPods,能夠用CocoaPods的搜索功能驗證一下。在終端中輸入:
$ pod search AFNetworking
出現錯誤:
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into 'master'...
fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': Failed to connect to github.com port 443: Operation timed out
解決方法:
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
再次輸入
$ pod search AFNetworking
仍是卡在
Setting up CocoaPods master repo
這裏好久,不知道什麼緣由,等了好久終於能順利執行下去。
廢話少說,說說怎麼用,以AFNetworking爲例子:
(1)在工程的目錄(也就是跟***.xcodeproj文件在同一個文件夾)下建立 Podfile (注意,必定得是這個文件名,並且沒有後綴)空白文件 。你建立一個Podfile文件,而後在裏面添加你須要下載的類庫,也就是告訴CocoaPods,「某某和某某和某某某,快到碗裏來!」。每一個項目只須要一個Podfile文件。
(2)打開podfile文件,輸入須要的第三方(按照下面格式輸入)
platform :ios, '9.0' use_frameworks! #use_frameworks!個別須要用到它,好比reactiveCocoa target '項目名稱' do pod 'AFNetworking', '~> 3.1' end
保存退出
(3)終端輸入
$pod install
(4)打開工程
***.xcworkspace的文件
就此添加第三方AFNetworking成功
參考文檔
(1)http://code4app.com/article/cocoapods-install-usage
(2)http://blog.csdn.net/qq_31810357/article/details/50031979
(3)http://ruby-china.org/wiki/install_ruby_guide
(4)http://blog.csdn.net/emulatestep/article/details/51644903