詳解2016 cocoapods的安裝和使用以及版本升級(jí)遇到的問題
一.CocoaPods是什么?
CocoaPods是一個(gè)負(fù)責(zé)管理iOS項(xiàng)目中第三方開源庫(kù)的工具。CocoaPods的項(xiàng)目源碼在Github上管理。該項(xiàng)目開始于2011年8月12日,在這兩年多的時(shí)間里,它持續(xù)保持活躍更新。開發(fā)iOS項(xiàng)目不可避免地要使用第三方開源庫(kù),CocoaPods的出現(xiàn)使得我們可以節(jié)省設(shè)置和更新第三方開源庫(kù)的時(shí)間,在iOS開發(fā)中經(jīng)常會(huì)用到第三方庫(kù)如AFNetworking,ASIHttpRequest等,在使用第三方庫(kù)時(shí),你除了要導(dǎo)數(shù)源碼外,但是,集成這些依賴庫(kù)需要我們手動(dòng)去配置,還有當(dāng)這些第三方庫(kù)發(fā)生了更新,還需要手動(dòng)去更新項(xiàng)目。這就顯得非常麻煩。有麻煩自然有解決辦法,CocoaPods就是為了解決這個(gè)問題而生的。通過CocoaPods,我們可以將第三方的依賴庫(kù)統(tǒng)一管理起來(lái),配置和更新只需要通過簡(jiǎn)單的幾行命令即可完成。
二.CocoaPods的下載及安裝
mac系統(tǒng)已經(jīng)默認(rèn)安裝好Ruby環(huán)境,如果你不確定自己系統(tǒng)中是否有Ruby的,可以在終端中輸入命令行:ruby -v查看當(dāng)前ruby版本。如圖:

確定以后,接下來(lái)就可以下載和安裝CocoaPods,只需要一行命令。在Terminator(也就是終端)中輸入以下命令:
sudo gem install cocoapods
但是,在終端中敲入這個(gè)命令之后,會(huì)發(fā)現(xiàn)半天沒有任何反應(yīng)。原因是那堵墻阻擋了cocoapods.org。
解決辦法是,我們可以用阿里云的Ruby鏡像來(lái)訪問cocoapods。按照下面的順序在終端中敲入依次敲入命令:
首先,檢查你的ruby源:
$gem sources -l
默認(rèn)情況下,終端應(yīng)該返回如下信息:
*** CURRENT SOURCES *** https://rubygems.org/
當(dāng)然這個(gè)源在墻內(nèi)是訪問不到的。因此我們需要尋找一個(gè)可以在國(guó)內(nèi)訪問到的鏡像。目前筆者找到的是http://rubygems-china.oss.aliyuncs.com這個(gè)阿里云的鏡像,當(dāng)然隨著時(shí)間的推移,未來(lái)這個(gè)鏡像也有可能無(wú)法訪問了,到時(shí)候就只能重新尋找了。
確認(rèn)鏡像可用后,現(xiàn)在就要開始修改ruby源了。首先執(zhí)行以下命令刪除原來(lái)的ruby源:
$gem sources --remove https://rubygems.org/
執(zhí)行命令后可在終端看見以下信息:
https://rubygems.org/ removed from sources
然后下一步添加你找到的可用的鏡像源:
$gem sources -a http://rubygems-china.oss.aliyuncs.com
此時(shí)如果你再執(zhí)行g(shù)em sources -l命令,就能看到當(dāng)前鏡像源里只有阿里云這一個(gè)了。此時(shí)你就可以重新執(zhí)行這一段開頭的那句命令了:
$sudo gem install cocoapods
如果一切正常,你應(yīng)該能看到一段安裝進(jìn)度,以及最后有一條信息:
3 gems installed
確認(rèn)看見這條信息,后先判斷的CocoaPods是否可以使用,可以用CocoaPods的搜索功能驗(yàn)證一下。在終端中輸入:
pod search AFNetworking;
執(zhí)行后可能會(huì)一直停在
Setting up CocoaPods master repo然后(很久)會(huì)出現(xiàn)如下錯(cuò)誤:

解決辦法是:
這說明CocoaPods還不能正常使用,需要更新pod,下載它的一些依賴包;在終端中輸入:
$ pod setup
過一段時(shí)間之后,你會(huì)在終端中看到跟上面同樣的紅色的錯(cuò)誤信息。
這說明某些環(huán)境原因?qū)е聀od更新不了,可能原因有,1)gem版本太低;2)github無(wú)法鏈接;3).cocoapods目錄下的配置信息錯(cuò)誤。我們可以一個(gè)一個(gè)來(lái)排除,
首先更新gem到最新版本,在終端中輸入:
$ sudo gem update --system
然后檢查是否可以ping通github,在終端中輸入:
$ ping github.com
然后查看pob repo list:
$ pod repo list
說明Cocoapods在將它的信息下載到 ~/.cocoapods里;
cd 到該目錄里,用du -sh *命令來(lái)查看文件大小,結(jié)果顯示0 repos,說明沒有安裝成功;
在終端輸入:
cd ~/.cocoapods
進(jìn)入cocoapods文件后在終端輸入:
du -sh *

重新執(zhí)行pod setup,過一段時(shí)間后提示setup completed,在終端中輸入 pod list,展示出安裝列表;
這樣總算安裝好了。接下來(lái)再一次輸入:
pod search AFNetworking
輸入過后它可能會(huì)報(bào):
[!] Unable to find a pod with name, author, summary, or descriptionmatching `AFNetworking`
解決方案是:
輸入:
rm ~/Library/Caches/CocoaPods/search_index.json
后在一次輸入:pod search AFNetworking
就可以咯。
三,cocoapods的使用
首先來(lái)到你的項(xiàng)目文件:
cd 項(xiàng)目文件的位置
然后,添加一個(gè)Podfile文件: vim Podfile
然后按i進(jìn)入插入模式,進(jìn)行編輯,在文件中輸入以下內(nèi)容:
注意百度上很多舊版本輸入的類容:
platform :ios, '8.1'
pod 'AFNetworking', '~> 2.0'
它會(huì)報(bào):[!] The dependency `AFNetworking (~> 3.0)` is not used in any concrete target.
現(xiàn)在版本升級(jí)官方給的文檔是:
platform :ios, '8.0'
target '你的項(xiàng)目名稱' do
pod 'AFNetworking', '~> 3.0'
end
注意:'你的項(xiàng)目名稱'是你項(xiàng)目文件中'xx.xcodeproj'文件,'xx.xcodeproj'去掉后綴名所得的‘xx'==(就是)‘你的項(xiàng)目名稱'
輸入完成后按ESC退出編輯模式,最后輸入:wq保存并退出文件。此時(shí)可以發(fā)現(xiàn)在項(xiàng)目目錄下多了一個(gè)Podfile的文件,請(qǐng)注意這個(gè)文件必須與.xcodeproj在同一目錄下。
最后:
pod install
沒報(bào)錯(cuò)就可以了。
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
IOS 中NSUserDefaults讀取和寫入自定義對(duì)象的實(shí)現(xiàn)方法
這篇文章主要介紹了IOS 中NSUserDefaults讀取和寫入自定義對(duì)象的實(shí)現(xiàn)方法的相關(guān)資料,希望通過本文大家能夠理解掌握這部分內(nèi)容,需要的朋友可以參考下2017-09-09
詳解iOS學(xué)習(xí)筆記(十七)——文件操作(NSFileManager)
這篇文章主要介紹了詳解iOS學(xué)習(xí)筆記(十七)——文件操作(NSFileManager),具有一定的參考價(jià)值,有需要的可以了解一下。2016-12-12
實(shí)例解析設(shè)計(jì)模式中的外觀模式在iOS App開發(fā)中的運(yùn)用
這篇文章主要介紹了設(shè)計(jì)模式中的外觀模式在iOS App開發(fā)中的運(yùn)用,實(shí)例代碼為傳統(tǒng)的Objective-C,需要的朋友可以參考下2016-03-03
IOS 開發(fā)之Object-C中的對(duì)象詳解
這篇文章主要介紹了IOS 開發(fā)之Object-C中的對(duì)象詳解的相關(guān)資料,需要的朋友可以參考下2017-06-06
iOS中實(shí)現(xiàn)動(dòng)態(tài)區(qū)域裁剪圖片功能實(shí)例
圖片處理中經(jīng)常用的圖片剪裁,就是通過剪裁框確定圖片剪裁的區(qū)域,然后剪去該區(qū)域的圖片,下面這篇文章主要給大家介紹了關(guān)于iOS中實(shí)現(xiàn)動(dòng)態(tài)區(qū)域裁剪圖片功能的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面隨著小編來(lái)一起看看吧。2017-11-11
iOS UICollectionView實(shí)現(xiàn)卡片效果
這篇文章主要為大家詳細(xì)介紹了iOS UICollectionView實(shí)現(xiàn)卡片效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-04-04

