Cocoapods安裝以及問題處理

如何安裝Cocoapods

更改Cocoapods的源

因?yàn)樵趪鴥?nèi)資源被墻,所以需要切換源。目前使用的是ruby-china提供的鏡像。

gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.com/

安裝完之后進(jìn)行查看源,檢查是否安裝正確

gem source -l
// *** CURRENT SOURCES ***
//https://gems.ruby-china.com/

安裝Cocoapods

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

配置pod

pod setup

安裝完成。

如何安裝指定版本的Cocoapods?

問題描述:

我們在使用Cocoapods的工程中進(jìn)行協(xié)同開發(fā)的時(shí)候,避免不了對podfile文件的更改,當(dāng)podfile文件發(fā)生改變的時(shí)候,對應(yīng)的pofile.lock也會(huì)發(fā)生更改。當(dāng)然團(tuán)隊(duì)在開發(fā)過程中也不希望每次拉一次代碼就執(zhí)行以下pod install 命令。正因?yàn)?code>podfile以及podfile.lock的改變,我們才需要去執(zhí)行pod install 或者pod update命令。podfile文件的更改,我們開發(fā)中可以控制,但是如果團(tuán)隊(duì)開發(fā)者Cocoapods版本不一致的時(shí)候。每更改一次都需要執(zhí)行pod install 或者pod update命令。如果成員都不對podfile文件做更改,并且Cocoapods版本都一致的時(shí)候,每次進(jìn)行代碼提交以及代碼拉取的時(shí)候都不需要執(zhí)行pod 更新的命令,那么,如果版本不一致怎么辦呢?統(tǒng)一版本唄。

解決方案:

Cocoapods版本的更新這里分兩種情況:

Case1:當(dāng)前安裝的Cocoapods版本比目標(biāo)版本低但是目標(biāo)版本又不是最新的,不能夠直接用更新命令(因?yàn)檫@樣會(huì)更新到最新版本)。這個(gè)時(shí)候我們要怎么做呢?

假設(shè)當(dāng)前Cocoapods版本為1.5.0,目標(biāo)版本為1.5.2。

這個(gè)時(shí)候需要執(zhí)行命令:

sudo gem install cocoapods --version 1.5.2

Case2:當(dāng)前安裝的Cocoapods版本比目標(biāo)版本高,這個(gè)時(shí)候我們不能按照Case1的做法,因?yàn)檫@個(gè)時(shí)候執(zhí)行的只是安裝版本1.5.2,版本1.5.3還在。cocoapods在使用的時(shí)候默認(rèn)的就是最高版本的cocoapods。那么,我們應(yīng)該怎么做呢?

  • 首先是卸載高版本Cocoapods。查找當(dāng)前環(huán)境安裝的cocoapods版本可以使用命令 gem list。此時(shí)控制臺打印的可能為:
cocoapods (1.5.3,1.5.0, 1.3.1, 1.1.1)
cocoapods-core (1.5.3,1.5.0, 1.3.1, 1.1.1)
cocoapods-deintegrate (1.0.2, 1.0.1)
cocoapods-downloader (1.2.0, 1.1.3)
cocoapods-plugins (1.0.0)
cocoapods-search (1.0.0)
cocoapods-stats (1.0.0)
cocoapods-trunk (1.3.0, 1.2.0)
cocoapods-try (1.1.0)

1.5.2才是我們的目標(biāo)版本。1.5.3是最新的版本,我們需要把它卸載掉。命令如下:

sudo gem uninstall cocoapods -v 1.5.3
sudo gem uninstall  cocoapods-core -v 1.5.3

注意:這里必須把cocoapods和cocoapods-core都卸載掉。

  • 其次是安裝指定版本。命令和Case1的命令一樣。
sudo gem install cocoapods --version 1.5.2

這樣,我們就安裝了指定版本的cocoapods。

總結(jié)一下:

  1. 當(dāng)前版本比目標(biāo)版本低的時(shí)候,直接安裝指定版本的cocoapods。
sudo gem install cocoapods --version 目標(biāo)版本
  1. 當(dāng)前版本比目標(biāo)版本高的時(shí)候
    分兩步:

卸載當(dāng)前版本:

sudo gem uninstall cocoapods -v 當(dāng)前版本
sudo gem uninstall  cocoapods-core -v 當(dāng)前版本

安裝指定版本:

sudo gem install cocoapods --version 目標(biāo)版本

Swift引用報(bào)錯(cuò)的問題

問題描述:

當(dāng)我們使用cocoapods安裝一個(gè)第三方的時(shí)候,安裝成功以后,在引用第三方頭文件的時(shí)候可能會(huì)報(bào)錯(cuò),報(bào)錯(cuò)信息的大概意思是找不到這個(gè)頭文件("Cannot load underlying module for 'SnapKit'" 類似這樣的語句 )。

解決方案:

com+b(把工程編譯一下就行了)
// Xcode編譯器在第一次使用cocoapods的時(shí)候。提示不是很友好,編譯一下就好了。

pod search 不到或者搜索到的第三方庫版本太低

問題描述:

我們在組件化的時(shí)候,組件組的同事提交了最新版本的本地庫,然而你搜索到的還是歷史版本的,不能使用最新的代碼,怎么辦?

解決方案:

這是因?yàn)楸镜豴od的索引沒有及時(shí)進(jìn)行同步。
命令行執(zhí)行:

pod repo update

更新完本地索引之后,就可以search到最新版本的庫了。
如果這種方法不行的話,那么試試刪除~/Library/Caches/CocoaPods目錄下的search_index.json文件

  • pod setup成功后,依然不能pod search,是因?yàn)橹澳銏?zhí)行pod search生成了search_index.json,此時(shí)需要?jiǎng)h掉。
  • 終端輸入:rm ~/Library/Caches/CocoaPods/search_index.json
  • 刪除成功后,再執(zhí)行pod search。

此時(shí)終端輸入:pod search SKDispatcher(不區(qū)分大小寫)

輸出:Creating search index for spec repo 'master'.. Done!,稍等片刻······就會(huì)出現(xiàn)所有帶有SKDispatcher字段的類庫

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

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

  • 什么是cocoapods CocoaPods是一個(gè)用來幫助我們管理第三方依賴庫的工具。它可以解決庫與庫之間的依賴關(guān)...
    VV木公子閱讀 7,256評論 0 7
  • CocoaPods 是什么? CocoaPods 是一個(gè)負(fù)責(zé)管理 iOS 項(xiàng)目中第三方開源庫的工具。CocoaPo...
    朝洋閱讀 26,007評論 3 50
  • Ruby 安裝 要安裝cocospods 首先需要安裝ruby,可以先安裝xcode,再安裝macport ,最后...
    山天大畜閱讀 2,136評論 0 1
  • 一. CocoaPods的介紹 什么是CocoaPods?CocoaPods是一個(gè)負(fù)責(zé)管理iOS項(xiàng)目中第三方開源庫...
    輝712閱讀 4,127評論 0 7
  • 1 使用步驟 a、 新建一個(gè)項(xiàng)目,名字PodTest; b、終端中,cd到項(xiàng)目總目錄(注意:包含PodTest文件...
    Kevin_Junbaozi閱讀 2,405評論 0 3

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