原文地址:http://www.cnblogs.com/yan520/p/5583362.html
一.CocoaPods是什么?
CocoaPods是一個負(fù)責(zé)管理iOS項目中第三方開源庫的工具阅羹。CocoaPods的項目源碼在Github上管理。該項目開始于2011年8月12日碌宴,在這兩年多的時間里,它持續(xù)保持活躍更新蒙畴。開發(fā)iOS項目不可避免地要使用第三方開源庫贰镣,CocoaPods的出現(xiàn)使得我們可以節(jié)省設(shè)置和更新第三方開源庫的時間,在iOS開發(fā)中經(jīng)常會用到第三方庫如AFNetworking,ASIHttpRequest等膳凝,在使用第三方庫時碑隆,你除了要導(dǎo)數(shù)源碼外,但是蹬音,集成這些依賴庫需要我們手動去配置上煤,還有當(dāng)這些第三方庫發(fā)生了更新,還需要手動去更新項目著淆。這就顯得非常麻煩劫狠。有麻煩自然有解決辦法,CocoaPods就是為了解決這個問題而生的永部。通過CocoaPods独泞,我們可以將第三方的依賴庫統(tǒng)一管理起來,配置和更新只需要通過簡單的幾行命令即可完成苔埋。
二.CocoaPods的下載及安裝
mac系統(tǒng)已經(jīng)默認(rèn)安裝好Ruby環(huán)境懦砂,如果你不確定自己系統(tǒng)中是否有Ruby的,可以在終端中輸入命令行:ruby -v查看當(dāng)前ruby版本组橄。如圖:
確定以后荞膘,接下來就可以下載和安裝CocoaPods,只需要一行命令晨炕。在Terminator(也就是終端)中輸入以下命令:
sudo gem install cocoapods
但是衫画,在終端中敲入這個命令之后毫炉,會發(fā)現(xiàn)半天沒有任何反應(yīng)瓮栗。原因是那堵墻阻擋了cocoapods.org。
解決辦法是,我們可以用阿里云的Ruby鏡像來訪問cocoapods费奸。按照下面的順序在終端中敲入依次敲入命令:
首先弥激,檢查你的ruby源:
$gem sources -l
默認(rèn)情況下,終端應(yīng)該返回如下信息:
*** CURRENT SOURCES ***
https://rubygems.org/
當(dāng)然這個源在墻內(nèi)是訪問不到的愿阐。因此我們需要尋找一個可以在國內(nèi)訪問到的鏡像微服。目前筆者找到的是http://rubygems-china.oss.aliyuncs.com這個阿里云的鏡像,當(dāng)然隨著時間的推移缨历,未來這個鏡像也有可能無法訪問了以蕴,到時候就只能重新尋找了。
確認(rèn)鏡像可用后辛孵,現(xiàn)在就要開始修改ruby源了丛肮。首先執(zhí)行以下命令刪除原來的ruby源:
$gem sources --remove https://rubygems.org/
執(zhí)行命令后可在終端看見以下信息:
https://rubygems.org/ removed from sources
然后下一步添加你找到的可用的鏡像源:
$gem sources -a http://rubygems-china.oss.aliyuncs.com
此時如果你再執(zhí)行g(shù)em sources -l命令,就能看到當(dāng)前鏡像源里只有阿里云這一個了魄缚。此時你就可以重新執(zhí)行這一段開頭的那句命令了:
$sudo gem install cocoapods
如果一切正常宝与,你應(yīng)該能看到一段安裝進度,以及最后有一條信息:
3 gems installed
確認(rèn)看見這條信息冶匹,后先判斷的CocoaPods是否可以使用习劫,可以用CocoaPods的搜索功能驗證一下。在終端中輸入:
pod search AFNetworking嚼隘;
執(zhí)行后可能會一直停在
Setting up CocoaPods master repo然后(很久)會出現(xiàn)如下錯誤:
解決辦法是:
這說明CocoaPods還不能正常使用诽里,需要更新pod,下載它的一些依賴包飞蛹;在終端中輸入:
$ pod setup
過一段時間之后须肆,你會在終端中看到跟上面同樣的紅色的錯誤信息。
這說明某些環(huán)境原因?qū)е聀od更新不了桩皿,可能原因有豌汇,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 *命令來查看文件大小斜做,結(jié)果顯示0 repos,說明沒有安裝成功湾揽;
在終端輸入:
cd ~/.cocoapods
進入cocoapods文件后在終端輸入:du -sh *
重新執(zhí)行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進入插入模式诱告,進行編輯撵枢,在文件中輸入以下內(nèi)容:
注意百度上很多舊版本輸入的類容:
platform :ios, '8.1'pod 'AFNetworking', '~> 2.0'
它會報:[!] The dependency `AFNetworking (~> 3.0)` is not used in any concrete target.
現(xiàn)在版本升級官方給的文檔是:
platform :ios, '8.0'
target '你的項目名稱' do
pod 'AFNetworking', '~> 3.0'
end
輸入完成后按ESC退出編輯模式,最后輸入:wq保存并退出文件精居。此時可以發(fā)現(xiàn)在項目目錄下多了一個Podfile的文件锄禽,請注意這個文件必須與.xcodeproj在同一目錄下。
最后:
pod install