cocoapods安裝依賴關(guān)系
https://www.cnblogs.com/itgezhu/p/11087604.html
cocoapods安裝需要ruby古瓤,更新ruby需要rvm,下載rvm需要gpg丸边,下載gpg需要homebrew,所以安裝順序是homebrew->gpg->rvm->ruby-cocoapods决瞳,注意這是完整流程超燃,如果只是更新做cocoapods更新操作即可,不需要從第一步開始浅蚪。
先安裝Homebrew
git config--global--addsafe.directory/usr/local/Homebrew/Library/Taps/homebrew/homebrew-core
git config--global--addsafe.directory/usr/local/Homebrew/Library/Taps/homebrew/homebrew-cask
檢測Homebrew是否安裝成功
輸入
brew --version
返回
Homebrew 4.0.1-24-ge358035-dirtyHomebrew/homebrew-core (git revision 5c8a7bb5c3a; last commit 2023-02-17)Homebrew/homebrew-cask (git revision 90f1b9d0c9; last commit 2023-02-17)
更換源,把Ruby官方鏡像改為國內(nèi)鏡像
2.1 檢查更新ruby環(huán)境,更新gem版本
sudo gem update --system
2.2 查看gem版本
gem -v
注:請盡可能用比較新的 RubyGems 版本藕帜,建議 2.6.x 以上。
我目前的版本為2.6.3惜傲,安裝更新后為3.0.2
2.3 刪除鏡像
gem sources--removehttps://rubygems.org/
2.4 修改鏡像
gem sources--addhttps://gems.ruby-china.com/
2.5 為了驗(yàn)證你的Ruby鏡像是并且僅是ruby-china洽故,執(zhí)行以下命令查看
gem sources -l
2.6 終端顯示為如下即為成功,注:確保只有 gems.ruby-china.com 才為成功,如果有其他的請自行百度解決
***CURRENT SOURCES***https://gems.ruby-china.com/
通過Homebrew安裝ruby最新版
3.1 查看 ruby 的安裝目錄(用處不大)
which -a ruby
注:執(zhí)行以上命令后會輸出 2 行盗誊,
其中 /usr/local/opt/ruby/bin/ruby 是通過 Homebrew 安裝的时甚,
而 /usr/bin/ruby 是 Mac 自帶的 ruby隘弊,
請不要隨便刪除自帶的 ruby, 否則會出現(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 安裝成功
這時(shí)候才正式開始安裝CocoaPods
4.1 為了安全起見,執(zhí)行以下命令吻贿,卸載原有的CocoaPod(全新安裝用不到)
sudo gem uninstall 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 檢測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目錄下舅列。所有的第三方開源庫的Podspec文件都托管在https://github.com/CocoaPods/Specs肌割,我們需要把這個(gè)Podspec文件保存到本地,這樣才能讓我們使用命令pod search 開源庫搜索一個(gè)開源庫帐要,怎樣才能把github上的Podspec文件保存本地呢把敞?那就是 pod setup
執(zhí)行pod setup時(shí),CocoaPods 會將第三方的podspec索引文件更新到本地的~/.cocoapods/repos目錄下榨惠。
但是第一次執(zhí)行pod setup時(shí)奋早,這個(gè)github的Podspec索引文件比較大,有 300M 左右(以后會越來越大的)赠橙,所以第一次更新時(shí)非常慢.要耐心等待…..
最后當(dāng)出現(xiàn)Setup completed表示setup完成耽装。
如果遇到如下報(bào)錯(cuò):
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progressCloning 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 54fatal: The remote end hung up unexpectedlyfatal: early EOFfatal: index-pack failed
可能是Git的傳輸字節(jié)限制引起的,這時(shí)候使用git config -l期揪,查看Git配置掉奄,如下圖,紅色框是我配置的傳輸字節(jié)大小凤薛。
字節(jié)限制
解決方法:修改傳輸字節(jié)限制姓建,使用以下方法。后面的限制數(shù)字缤苫,可以自己定大兴偻谩(524288000,相當(dāng)于500M)
git config--globalhttp.postBuffer1048576000
執(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í)候憨栽,會發(fā)現(xiàn)那是一個(gè)相當(dāng)?shù)穆9烙?jì)一天的時(shí)間都浪費(fèi)再這上面翼虫。這是因?yàn)槭褂玫膰獾溺R像屑柔,只要使用國內(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 reporemovemaster
來刪除master文件
再執(zhí)行
//newgitclone--depth1https://github.com/CocoaPods/Specs.git master
//oldgitclonehttps://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git master
你會發(fā)現(xiàn)那速度杠杠的
pod setup
成功后會生成~/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!措译,稍等片刻就會出現(xiàn)所有帶AFNetworking字段的類庫出現(xiàn)。
4.7 CocoaPods 升級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 fromhttps://github.com/CocoaPods/Specs.git卡住情況蝠嘉,如圖:
其實(shí)并沒有卡住最疆,只是因?yàn)榫W(wǎng)速慢的原因?qū)е孪螺d spec repo cocoapods 速度慢,給人感覺像是卡住了蚤告。你可以到系統(tǒng)的“活動監(jiān)視器”中查看“網(wǎng)絡(luò)”這塊努酸,會發(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)目名稱'dopod'AFNetworking'end
保存后退出
開始下載:
pod install