2017-12-29

在終端中操作

1在安裝CocoaPods之前,首先要在本地安裝好Ruby環(huán)境,默認(rèn)情況下,Mac自帶Ruby環(huán)境。因?yàn)镽uby的默認(rèn)源rubygems.org使用的是亞馬遜的云服務(wù),在國內(nèi)使用會被墻,所以需要更換一下Ruby的源。

1.1以下命令符檢查Ruby源

$ gem sources - l

那么就需要替換Ruby源。

1.2 替換Ruby源,輸入以下命令符,刪除目前的Ruby源

$ gem sources --removehttps://rubygems.org/

1.3 添加新的Ruby源,輸入以下命令符:

$ gem sources -ahttp://rubygems-china.oss.aliyuncs.com

之前使用的是以下這個

$ gem sources -ahttps://ruby.taobao.org/

查看$ gem sources - l

成功就如圖1-2所示:

2 安裝CocoaPods,繼續(xù)在終端輸入命令:

macOS 10.12以下使用的是

sudo gem install -n /usr/local/bin/ cocoapods

OS X 10.11以上使用的是

sudo gem install cocoapods

2.1 等待以上命令符執(zhí)行完畢,繼續(xù)輸入以下命令:

pod setup

出現(xiàn)Setting up CocoaPods master repo 后會卡住一段時間,

可以在新開一個終端的窗口,輸入以下的命令,查看下載文件的大小。

$ cd ~/.cocoapods

$ du -sh

下載完畢后,所占磁盤的大小在894M左右。

2.2 下載成功,輸入以下命令:

$ pod --version

可以看到安裝成功cocoapods的版本。

當(dāng)然我們也可以對cocoapods卸載重新安裝**,輸入以下命令:

$ sudo gem uninstall cocoapods? //卸載

$ sudo gem install -n /usr/local/bin cocoapods? //安裝

或者 $ sudo gem install cocoapods

cocoapods卸載重裝的例子參考。如果升級已有的cocoapods,則輸入以下命令:

$ sudo gem update cocoapods? //升級cocoapods

查看本地安裝過的cocoapods相關(guān)東西,命令如下:

$ gem list --local | grep cocoapods

3 CocoaPods的使用

需要查看一下CocoaPods是否安裝成功,這時只需在終端輸入 *pod search +開源類庫的名字 *回車即可。例如:

$ pod search AFNetworking

安裝成功就會顯示出相關(guān)的所有第三方開源類庫。

3.1 怎么在項(xiàng)目中使用呢,首先需要在終端里面cd到項(xiàng)目文件夾里面,如下所示:

$ cd 項(xiàng)目文件夾路徑? ? (可以直接把拖動項(xiàng)目文件夾到終端光標(biāo)處,系統(tǒng)自動生成路徑)

3.2 創(chuàng)建Podfile 文件

$ touch Podfile

3.3 編輯Podfile文件

$ vim Podfile

接下來,在Podfile文件里面進(jìn)行書寫

cocoapods版本1.0.1之前的:

pod 'AFNetworking','~>2.6.0' #設(shè)置框架的名稱和版本號

cocoapods版本是1.0.1之后的:

platform :ios, '8.0'? ? ? #用來設(shè)置所有第三方庫所支持的iOS最低版本

target 'MyApp' do? ? ? #MyApp 就是你的項(xiàng)目名

pod 'AFNetworking', '~> 3.1.0'

end

(版本號的規(guī)則:

'>1.0' 可以安裝任何高于1.0的版本

'>=1.0' 可以安裝任何高于或等于1.0的版本

'<1.0' 任何低于1.0的版本

'<=1.0' 任何低于或等于1.0的版本

'~>0.1' 任何高于或等于0.1的版本,但是不包含高于0.1的版本

'~>0' 任何版本,相當(dāng)于不指定版本,默認(rèn)采用最新版本號)

編輯Podfile文件之后, 按 i 可編輯 ,esc 退出編輯,:wq? 可保存退出,:q 不保存退出。擴(kuò)展Podfile語法參考

2.4 安裝第三方開源類庫

編輯Podfile文件之后,保存退出,然后終端輸入命令:

$ pod install

等命令運(yùn)行完,項(xiàng)目就已經(jīng)是添加了cocoapods管理,啟動項(xiàng)目就是點(diǎn)擊.xcworkspace后綴的文件,在iOS項(xiàng)目中,導(dǎo)入頭文件就能調(diào)用第三方庫了。

2.5 更新第三方開源類庫

以后需要添加、更新、刪除某個第三方庫,只要編寫好Podfile文件,在終端輸入:

$ pod update

之后運(yùn)行就OK了。

如果升級某一個指定的第三方庫,則輸入以下命令:

$ pod update 第三方庫名稱

CocoaPods安裝失敗問題總結(jié)

安裝不成功的解決辦法之前,先解釋幾個名詞

Ruby是一種面向?qū)ο蟆⒚钍?、函?shù)式、動態(tài)的通用編程語言。可運(yùn)行于多種平臺,如 Windows、MAC OS 和 UNIX 的各種版本。且和Apple系列的程序員最直接關(guān)聯(lián)的就是Mac的開發(fā)環(huán)境,直接關(guān)聯(lián)于Cocoapods工具。但是,cocoapods工具與Ruby的版本有一定的關(guān)聯(lián)性,難免不涉及到升級。

gem是基于Ruby的一些開發(fā)工具包,不同的Gem可能會依賴不同的Ruby版本,通常來講,新版本特性更多,用起來更便利。

**rails **是一個基于Ruby的網(wǎng)頁服務(wù)器的架構(gòu),rails也算是一組gem,專門用來做網(wǎng)站的。 當(dāng)然它們?nèi)齻€各自有各自的版本。

rvm是什么?rvm是Ruby版本管理器。為什么要安裝rvm呢?因?yàn)閞vm可以讓你擁有多個版本的Ruby,并且可以在多個版本之間自由切換。

4.1 錯誤提示一

如果提示下面的錯誤提示,則需要安裝高版本ruby,需要在終端進(jìn)行升級,升級之前先安裝rvm。

ERROR: Error installing cocoapods:

activesupport requires Ruby version >= 2.2.2.

第一步:安裝rvm

$ curl -L get.rvm.io | bash -s stable

$ source ~/.profile

等待終端加載完畢后輸入:

$ rvm -v

如果能顯示版本號,則安裝成功。

第二步:安裝ruby

列出ruby可安裝的版本信息

$ rvm list known

安裝一個ruby版本

$ rvm install 2.2

如果想設(shè)置為默認(rèn)版本,可以用這條命令來完成

$ rvm use 2.0.0 --default

查看已安裝的ruby

$ rvm list

卸載一個已安裝ruby版本

$ rvm remove 2.2

4.2 錯誤提示二

如果在終端安裝過程中出現(xiàn)以下錯誤提示:

ERROR:? While executing gem ... (Gem::FilePermissionError)

You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

解決辦法升級gem,在終端輸入:

$ sudo gem update --system

輸入上面的后如果出現(xiàn)ERROR:? While executing gem ... (Errno::EPERM)

Operation not permitted - /usr/bin/update_rubygems這樣的報(bào)錯 就在終端輸入:

sudo gem install -n /usr/local/bin cocoapods

問題迎難而解

注意rvm、ruby、gem是順序更新的。

查看已安裝的gem,輸入:

$ gem -v

則可以看到gem的安裝版本號。

4.3 錯誤提示三

pod setup之后,出現(xiàn)Setting up CocoaPods master repo,在等待過程中,可能出現(xiàn)下面錯誤:

[!] /usr/bin/git clonehttps://github.com/CocoaPods/Specs.gitmaster

Cloning into 'master'...

fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': SSLRead() return error -9806

推測可能是網(wǎng)絡(luò)帶寬問題,git下載速度比較慢,所以會出現(xiàn)這種錯誤。

失敗的解決辦法,可以手動去克隆一份到repos目錄下面:

通過終端,進(jìn)入到

$ cd ~/.cocoapods/repos

然后通過終端

$ git clonehttps://github.com/CocoaPods/Specs.git

成功后通過finder的前往文件夾進(jìn)行查看? ? ? ~/.cocoapods/repos

將clone的Specs項(xiàng)目的文件夾改名為master, 然后執(zhí)行命令:

$ pod setup

更新:最近發(fā)現(xiàn)CocoaPods無法從Github上clone下來。解決辦法是使用國內(nèi)的鏡像地址(https://coding.net/u/hging/p/Specs/git),然后在從前往文件夾的方式進(jìn)入~/.cocoapods/repos目錄下,再將文件夾重命名為master。然后執(zhí)行命令:

$ pod setup

4.4 錯誤提示四

有的情況下搜索第三方庫,例如搜索AFNetworking,也就是在執(zhí)行以下命令符之后,

$ pod search AFNetworking

會出現(xiàn)以下錯誤“:

[!] Unable to find a pod with name, author, summary, or description matchingAFNetworking

解決辦法,就是清除搜索的緩存,執(zhí)行以下命令就可以搜索出來想要搜索的第三方庫了。

$ rm ~/Library/Caches/CocoaPods/search_index.json

4.5 補(bǔ)充一些終端命令

rvm list? #查看已安裝ruby

rvm list known? #列出ruby可安裝版本信息

rvm remove 2.2.2? #卸載一個已安裝的ruby版本

gem source? #查看已有源

gem list? #查看local gems

which pod? #查看pod 的本地地址

cocopods安裝使用和安裝過程中遇到的問題及解決辦法網(wǎng)址:http://www.mamicode.com/info-detail-1222858.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容