2024安裝CocoaPods

點(diǎn)贊!!!

都還干著iOS嘛???!!!

背景

新入職公司成畦,分配一臺(tái)全新MacBook pro,借此機(jī)會(huì)梳理一下cocoapods的完整安裝流程既峡。

cocoapods安裝依賴關(guān)系

cocoapods安裝需要ruby预茄,更新ruby需要rvm隔显,下載rvm需要gpg崎溃,下載gpg需要homebrew蜻直,所以安裝順序是homebrew->gpg->rvm->ruby-cocoapods,注意這是完整流程,如果只是更新做cocoapods更新操作即可概而,不需要從第一步開始呼巷。

  1. 先安裝Homebrew
    2020版mac 安裝homebrew失敗 極簡(jiǎn)解決方案
git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
git config --global --add safe.directory /usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask

檢測(cè)Homebrew是否安裝成功
輸入

brew --version

返回

Homebrew 4.0.1-24-ge358035-dirty
Homebrew/homebrew-core (git revision 5c8a7bb5c3a; last commit 2023-02-17)
Homebrew/homebrew-cask (git revision 90f1b9d0c9; last commit 2023-02-17)
  1. 更換源,把Ruby官方鏡像改為國(guó)內(nèi)鏡像
    2.1 檢查更新ruby環(huán)境,更新gem版本
sudo gem update --system

2.2 查看gem版本

gem -v

注:請(qǐng)盡可能用比較新的 RubyGems 版本,建議 2.6.x 以上赎瑰。
我目前的版本為2.6.3王悍,安裝更新后為3.0.2

2.3 刪除鏡像

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

2.4 修改鏡像

gem sources --add https://gems.ruby-china.com/

2.5 為了驗(yàn)證你的Ruby鏡像是并且僅是ruby-china,執(zhí)行以下命令查看

gem sources -l

2.6 終端顯示為如下即為成功餐曼,注:確保只有 gems.ruby-china.com 才為成功,如果有其他的請(qǐng)自行百度解決

*** CURRENT SOURCES ***

https://gems.ruby-china.com/
  1. 通過Homebrew安裝ruby最新版
    3.1 查看 ruby 的安裝目錄(用處不大)
which -a ruby

注:執(zhí)行以上命令后會(huì)輸出 2 行压储,

  1. 其中 /usr/local/opt/ruby/bin/ruby 是通過 Homebrew 安裝的,
  2. 而 /usr/bin/ruby 是 Mac 自帶的 ruby源譬,
  3. 請(qǐng)不要隨便刪除自帶的 ruby渠脉, 否則會(huì)出現(xiàn)問題(這個(gè)本人也沒嘗試只是老外博文里說的)

通過 HomeBrew安裝的版本:ruby 3.2.1 路徑:/usr/local/opt/ruby/bin/ruby
Mac 自帶版本: ruby 2.6.3 路徑:/usr/bin/ruby

3.2 通過 Homebrew 安裝 ruby

brew install ruby

3.3 使用以下命令查看 ruby 版本

ruby -v

如果成功安裝之后使用命令查看 ruby 版本發(fā)現(xiàn)仍然是 Mac 自帶的版本,類似如下

ruby 2.6.3p62 (2019-04-16 revision 67580) [universal.x86_64-darwin20]

3.4 此時(shí)只需把 ruby 3.2.1 可執(zhí)行文件導(dǎo)入全局變量 PATH 中即可瓶佳,使用如下命令:

echo 'export PATH="/usr/local/opt/ruby/bin:$PATH"' >> ~/.zshrc
source ~/.zshrc

3.5 再次查看 ruby 版本

ruby -v

顯示以下命令行即為成功

ruby 3.2.1 (2023-02-08 revision 31819e82c8) [x86_64-darwin20]

至此 ruby 3.2.1 安裝成功

Mac下升級(jí)ruby至最新版本

  1. 這時(shí)候才正式開始安裝CocoaPods
    4.1 為了安全起見,執(zhí)行以下命令鳞青,卸載原有的CocoaPod(全新安裝用不到)
sudo gem uninstall cocoapods

cocopods徹底卸載重新安裝
刪除CocoaPods

4.2 執(zhí)行以下命令來重新安裝cocoapod

//Mac OS X 10.11前
sudo gem install cocoapods
//Mac OS X 10.11后
sudo gem install -n /usr/local/bin cocoapods

4.3 如果沒有權(quán)限執(zhí)行pod霸饲,執(zhí)行以下命令,賦予/usr/local/bin給予執(zhí)行與讀取權(quán)限

sudo chmod +rx /usr/local/bin/

4.4 檢測(cè)pod是否安裝成功

pod --version

ikuai@iKuaideMacBook-Air ~ % pod --version
1.11.3
ikuai@iKuaideMacBook-Air ~ %
4.5 更新Podspec索引文件
安裝成功后 執(zhí)行

pod setup

pod setup作用

將所有第三方的Podspec索引文件更新到本地的~/.cocoapods/repos目錄下臂拓。所有的第三方開源庫(kù)的Podspec文件都托管在https://github.com/CocoaPods/Specs厚脉,我們需要把這個(gè)Podspec文件保存到本地,這樣才能讓我們使用命令pod search 開源庫(kù)搜索一個(gè)開源庫(kù)胶惰,怎樣才能把github上的Podspec文件保存本地呢傻工?那就是 pod setup

執(zhí)行pod setup時(shí),CocoaPods 會(huì)將第三方的podspec索引文件更新到本地的~/.cocoapods/repos目錄下孵滞。

但是第一次執(zhí)行pod setup時(shí)中捆,這個(gè)github的Podspec索引文件比較大,有 300M 左右(以后會(huì)越來越大的)坊饶,所以第一次更新時(shí)非常慢.要耐心等待…..

最后當(dāng)出現(xiàn) Setup completed 表示setup完成泄伪。

如果遇到如下報(bào)錯(cuò)

[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress

Cloning into 'master'...
remote: Counting objects: 2016093, done.        
remote: Compressing objects: 100% (555/555), done.        
error: RPC failed; curl 56 LibreSSL SSL_read: SSL_ERROR_SYSCALL, errno 54
fatal: The remote end hung up unexpectedly
fatal: early EOF
fatal: index-pack failed

可能是Git的傳輸字節(jié)限制引起的翩腐,這時(shí)候使用 git config -l扮碧,查看Git配置,如下圖桑腮,紅色框是我配置的傳輸字節(jié)大小痘绎。


字節(jié)限制
解決方法:修改傳輸字節(jié)限制津函,使用以下方法。后面的限制數(shù)字孤页,可以自己定大卸唷(524288000,相當(dāng)于500M)

git config --global http.postBuffer 1048576000

執(zhí)行后在

git config -l

看看是否修改成功。

4.6 pod setup太慢終極解決辦法
pod setup的本質(zhì)就是將
https://github.com/CocoaPods/Specs.git
的代碼下載到~/.cocoapods/repos/master
當(dāng)我們?nèi)?zhí)行pod setup的時(shí)候蕉堰,會(huì)發(fā)現(xiàn)那是一個(gè)相當(dāng)?shù)穆杈弧9烙?jì)一天的時(shí)間都浪費(fèi)再這上面。這是因?yàn)槭褂玫膰?guó)外的鏡像屋讶,只要使用國(guó)內(nèi)的鏡像就很好的解決了冰寻。
只要使用

cd ~/.cocoapods/repos

ikuai@iKuaideMacBook-Air ~ % cd ~/.cocoapods/repos
cd: no such file or directory: /Users/ikuai/.cocoapods/repos
ikuai@iKuaideMacBook-Air ~ %
如果沒有則創(chuàng)建

mkdir -p ~/.cocoapods/repos/
cd ~/.cocoapods/repos

備注:cocoapods 是一個(gè)隱藏目錄
隱藏文件所在的目錄按鍵盤上面的shift+cmmand+. ,接著看到隱藏文件夾內(nèi)凡是前面帶有小點(diǎn)的隱藏文件皿渗,或者是顯示淡藍(lán)色的文件都是隱藏文件斩芭,再次按上面的鍵隱藏。

然后 執(zhí)行

pod repo remove master

來刪除master文件
再執(zhí)行

//new
git clone --depth 1 https://github.com/CocoaPods/Specs.git master
//old
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master

你會(huì)發(fā)現(xiàn)那速度杠杠的

pod setup

成功后會(huì)生成~/Library/Caches/CocoaPods/search_index.json文件乐疆。
終端輸入

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

刪除~/Library/Caches/CocoaPods目錄下的search_index.json文件
刪除成功后終端輸入:

pod search AFNetworking(不區(qū)分大小寫)

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


4.7 CocoaPods 升級(jí)1.8.4的坑 CDN: trunk Repo update failed
由于項(xiàng)目是用CocoaPods管理挤土,CocoaPods 1.8將CDN切換為默認(rèn)的spec repo源琴庵,并附帶一些增強(qiáng)功能!CDN支持最初是在1.7版本中引入的仰美,最終在1.7.2中完成迷殿。 它旨在大大加快初始設(shè)置和依賴性分析。
解決辦法:
(1)podfile添加source 'https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git'
(2)pod repo list 查看一下源列表
(3)pod repo remove trunk 移除trunk源

當(dāng)執(zhí)行 pod install 或者 pod update 后出現(xiàn) Cloning spec repo cocoapods from https://github.com/CocoaPods/Specs.git 卡住情況咖杂,如圖:


其實(shí)并沒有卡住庆寺,只是因?yàn)榫W(wǎng)速慢的原因?qū)е孪螺d spec repo cocoapods 速度慢,給人感覺像是卡住了诉字。你可以到系統(tǒng)的“活動(dòng)監(jiān)視器”中查看“網(wǎng)絡(luò)”這塊懦尝,會(huì)發(fā)現(xiàn)有一些東西正在被下載,有一個(gè) “git-remote-https” 就是負(fù)責(zé)下載 spec repo cocoapods 的壤圃,所以慢慢等待吧陵霉!

4.8 CocoaPods的具體使用
新建一個(gè)Xcode工程,使用終端cd到工程目錄下
創(chuàng)建Podfile文件:
pod init
之后就可以在項(xiàng)目目錄里看到一個(gè)Podfile文件
打開Podfile文件:
open Podfile
添加:

source ‘https://github.com/CocoaPods/Specs.git’
platform :ios, '9.0'
target '項(xiàng)目名稱' do
  pod 'AFNetworking'
end

保存后退出
開始下載:

pod install

Pod安裝需要ruby埃唯,ruby需要rvm
macOS Catalina 10.15 十分鐘安裝 CocoaPods
4. 更新Podspec索引文件

iOS 創(chuàng)建新項(xiàng)目使用pod install提示警告的幾個(gè)解決辦法

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末撩匕,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子墨叛,更是在濱河造成了極大的恐慌止毕,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評(píng)論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件漠趁,死亡現(xiàn)場(chǎng)離奇詭異扁凛,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)闯传,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評(píng)論 2 382
  • 文/潘曉璐 我一進(jìn)店門谨朝,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事字币≡蚺” “怎么了?”我有些...
    開封第一講書人閱讀 152,445評(píng)論 0 341
  • 文/不壞的土叔 我叫張陵洗出,是天一觀的道長(zhǎng)士复。 經(jīng)常有香客問我,道長(zhǎng)翩活,這世上最難降的妖魔是什么阱洪? 我笑而不...
    開封第一講書人閱讀 55,185評(píng)論 1 278
  • 正文 為了忘掉前任,我火速辦了婚禮菠镇,結(jié)果婚禮上冗荸,老公的妹妹穿的比我還像新娘。我一直安慰自己利耍,他們只是感情好蚌本,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,178評(píng)論 5 371
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著隘梨,像睡著了一般魂毁。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上出嘹,一...
    開封第一講書人閱讀 48,970評(píng)論 1 284
  • 那天,我揣著相機(jī)與錄音咬崔,去河邊找鬼税稼。 笑死,一個(gè)胖子當(dāng)著我的面吹牛垮斯,可吹牛的內(nèi)容都是我干的郎仆。 我是一名探鬼主播,決...
    沈念sama閱讀 38,276評(píng)論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼兜蠕,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼扰肌!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起熊杨,我...
    開封第一講書人閱讀 36,927評(píng)論 0 259
  • 序言:老撾萬榮一對(duì)情侶失蹤曙旭,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后晶府,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體桂躏,經(jīng)...
    沈念sama閱讀 43,400評(píng)論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,883評(píng)論 2 323
  • 正文 我和宋清朗相戀三年川陆,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了剂习。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 37,997評(píng)論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖鳞绕,靈堂內(nèi)的尸體忽然破棺而出失仁,到底是詐尸還是另有隱情,我是刑警寧澤们何,帶...
    沈念sama閱讀 33,646評(píng)論 4 322
  • 正文 年R本政府宣布萄焦,位于F島的核電站,受9級(jí)特大地震影響垂蜗,放射性物質(zhì)發(fā)生泄漏楷扬。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,213評(píng)論 3 307
  • 文/蒙蒙 一贴见、第九天 我趴在偏房一處隱蔽的房頂上張望烘苹。 院中可真熱鬧,春花似錦片部、人聲如沸镣衡。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評(píng)論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽廊鸥。三九已至,卻和暖如春辖所,著一層夾襖步出監(jiān)牢的瞬間惰说,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評(píng)論 1 260
  • 我被黑心中介騙來泰國(guó)打工缘回, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留吆视,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 45,423評(píng)論 2 352
  • 正文 我出身青樓酥宴,卻偏偏與公主長(zhǎng)得像啦吧,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子拙寡,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,722評(píng)論 2 345

推薦閱讀更多精彩內(nèi)容