CocoaPods的安裝和使用以及版本升級(jí)遇到的問題

一.CocoaPods是什么?

 ? ? CocoaPods是一個(gè)用ruby編寫,負(fù)責(zé)管理iOS項(xiàng)目中第三方開源庫的工具。CocoaPods節(jié)省設(shè)置和更新第三方開源庫的時(shí)間。

二.CocoaPods的下載及安裝

1、升級(jí)ruby環(huán)境

? ? ? ? ruby -v? 查看當(dāng)前ruby版本

查看當(dāng)前ruby版本

? Ruby版本過低時(shí),需對(duì)Ruby進(jìn)行升級(jí)。升級(jí)過程如下:

(1)安裝RVM

RVM:Ruby Version Manager,Ruby版本管理器,包括Ruby的版本管理和Gem庫管理

$?curl?-Lget.rvm.io|?bash?-s?stable

等待一段時(shí)間后就可以成功安裝好 RVM。

$?source?~/.bashrc??

$?source?~/.bash_profile ?

測試是否安裝正常 ??rvm?-v

rvm -v

(2)用RVM升級(jí)Ruby

#查看當(dāng)前ruby版本

$ ruby -v

#列出已知的ruby版本

$ rvm list known

rvm list known

#安裝ruby 2.4.1

$ rvm install 2.4.1

安裝完成之后ruby -v查看是否安裝成功。

ruby -v

2、更新ruby鏡像

終端輸入如下命令(把Ruby鏡像指向ruby-china,避免被墻)

$ gem sources --remove?https://rubygems.org/?

$ gem sources -a? https://gems.ruby-china.org

$ gem sources -l??(用來檢查使用替換鏡像位置成功)

3、下載安裝CocoaPods

$ sudo?gem?install?cocoa pods ?如果一切正常,你應(yīng)該能看到一段安裝進(jìn)度

如果出現(xiàn)這個(gè)

無權(quán)限安裝

說明沒有權(quán)限,需要輸入:

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

安裝成功如下:

CocoaPods安裝成功

在終端中輸入: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無法鏈接;3).cocoapods目錄下的配置信息錯(cuò)誤。我們可以一個(gè)一個(gè)來排除,

1)首先更新gem到最新版本,在終端中輸入:

$?sudo?gem?update?--system? ?// 第一步已做過

2)然后檢查是否可以ping通github,在終端中輸入:

$?ping?github.com

或 $ ping -c 10 github.com 制定送出的數(shù)據(jù)包數(shù)目?

或 ctrl+c停止發(fā)送 ?ctrl+z暫停

3)然后查看pod repo list:

$?pod?repo?list

cd ~/.cocoapods,進(jìn)入cocoapods文件后在終端輸入:du -sh *,查看文件大小,結(jié)果顯示0 repos,說明沒有安裝成功;

du -sh * 安裝失敗


du -sh * 安裝成功

重新執(zhí)行pod setup,過一段時(shí)間后提示setup completed。在終端中輸入 pod list,展示出安裝列表;

速度較快的方式:pod install --verbose --no-repo-update

這樣總算安裝好了。接下來再一次輸入:

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就可以咯。

4、CocoaPods的使用

首先來到你的項(xiàng)目文件:? ? ? ?cd 項(xiàng)目文件的位置

然后,添加一個(gè)Podfile文件:vim Podfile

然后按 i?進(jìn)入插入模式,進(jìn)行編輯,在文件中輸入以下內(nèi)容:

Podfile 文件

輸入完成后按ESC退出編輯模式,最后輸入:wq保存并退出文件。此時(shí)可以發(fā)現(xiàn)在項(xiàng)目目錄下多了一個(gè)Podfile的文件,請(qǐng)注意這個(gè)文件必須與.xcodeproj在同一目錄下。

最后:pod install? / pod install --verbose --no-repo-update

強(qiáng)調(diào)一點(diǎn):Podfile文件的編輯,務(wù)必使用vim,防止編碼問題導(dǎo)致無法下載。

pod 第三方進(jìn)程

其他錯(cuò)誤:?

(1)出現(xiàn)如下警告

[!] Your Podfile has had smart quotessanitised. To avoid issues in the future, you should not use TextEdit forediting it. If you are not using TextEdit, you should turn off smart quotes inyour editor of choice.

解決辦法:不要使用文本編輯去編輯Podfile,使用Xcode編輯,或者使用終端敲命令去編輯。

(2) 執(zhí)行pod install 或pod update 命令后,updating local specsrepositories 卡住不動(dòng)

解決辦法:pod install 被墻了,換成新的命令pod install --verbose --no-repo-update

(3) 項(xiàng)目運(yùn)行時(shí)報(bào)錯(cuò):Thefile “Pods.xcconfig” couldn’t be opened because there is no such file.

解決辦法:pod update就可以了。

三、注意項(xiàng)

使用CocoaPods還需要注意以下幾點(diǎn):

1. 需要使用CocoaPods生成的 .xcworkspace 文件來打開工程,而不是以前的 .xcodeproj 文件。

2. 每次更改了Podfile文件,你需要重新執(zhí)行一次pod update命令。

3. 當(dāng)你執(zhí)行pod install之后,除了Podfile外,CocoaPods還會(huì)生成一個(gè)名為Podfile.lock的文件,你應(yīng)該把這個(gè)文件加入到版本管理中。因?yàn)镻odfile.lock會(huì)鎖定當(dāng)前各依賴庫的版本,之后如果多次執(zhí)行pod install?不會(huì)更改版本,要pod update才會(huì)改Podfile.lock了。這樣的好處是:當(dāng)多人協(xié)作的時(shí)候,可以保證所有人的第三庫環(huán)境是完全一樣的。

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

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

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