寫在前面的話:
在執行下面的任何步驟中遇到 中斷、進度緩慢、各種失敗等問題時,
請嚴格遵守以下原則:
1、重試、重試、重試,沒准多試幾次就好了呢; 2、切換為手機移動網絡(已驗證過多次,可行); 3、上述方法不行的話那就走上網的通道吧,注意切換成全局模式(建議放最后試吧,反正我沒試過,都是聽別人說的); 4、還是失敗那就等等,在凌晨左右的時候會好很多(已驗證過多次,可行); 5、到這里還是不行,那就就得考慮下自己的人品問題了;
其它問題,別說,別問,別喳喳,去找百度或者谷歌,它們懂得多!!!
—-------—-------—-------—-------—-------—-------—-------—-------
正文
自己裝過很多次CocoaPod,中間遇到過各種煩人的問題,也促使自己在不斷的摸索中學習到了很多,總結一下,供大家學習研究,以下過程經本人新機測試,一路暢通無任何錯誤(請嚴格按照下述方法來做),中間有網絡不好的可能會下載中斷出錯,只要從新執行一下命令就行了.
CocoaPods簡介:
CocoaPods是一個用Ruby寫的、負責管理iOS項目中第三方開源庫的工具,CocoaPods能讓我們集中的、統一管理第三方開源庫,為我們節省設置和更新第三方開源庫的時間。
CocoaPods安裝:
下面就正式開始安裝CocoaPods,命令中間可能有空格看不出來,建議直接復制粘貼執行;
因為Mac電腦自帶Ruby環境,我們就只需打開終端開始動手。然而又因為默認情況下我們mac系統自帶的Ruby環境版本比較低(大概是2.0.0或者其他較高版本),但是現在安裝CocoaPods需要2.2.2版本及以上的,所以我們不管三七二十一先直接先升級ruby。
打開終端:>_
1、查看當前Ruby版本
ruby -v
2、升級Ruby環境,首先需要安裝rvm(第一步要下載一些東西等兩分鍾左右)
curl -L get.rvm.io | bash -s stable source ~/.bashrc source ~/.bash_profile
3、查看rvm版本
rvm -v
顯示如下(或者是其他版本)
rvm 1.29.3 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
4、列出ruby可安裝的版本信息
rvm list known
顯示如下
# MRI Rubies [ruby-]1.8.6[-p420] [ruby-]1.8.7[-head] # security released on head [ruby-]1.9.1[-p431] [ruby-]1.9.2[-p330] [ruby-]1.9.3[-p551] [ruby-]2.0.0[-p648] [ruby-]2.1[.10] [ruby-]2.2[.10] [ruby-]2.3[.7] [ruby-]2.4[.4] [ruby-]2.5[.1] ..... [ruby-]2.6[.3] // 重點在這里 重點在這里 重點在這里 [ruby-]2.7[.0-preview1] // 測試版 ruby-head .....
5、安裝一個ruby版本(這里我選擇的是2.5.1版本,當然你也可以選擇其他的)
rvm install 2.6.3 // 注意:安裝過程中需要兩次按下 Enter 鍵, 第二次按下后需要輸入電腦訪問密碼(不可見,只管輸入就行); // 如果你電腦沒有安裝Xcode和Command Line Tools for Xcode以及Homebrew 會自動下載安裝,建議提前安裝這三者.
這里很多小伙伴會遇到錯誤,大部分是因為沒有安裝Homebrew造成,所以所以所以要提前安裝比較好
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
6、設置為默認版本
rvm use 2.6.3 --default
7、更換源
sudo gem update --system gem sources --remove https://rubygems.org/ gem sources --add https://gems.ruby-china.com/
8、為了驗證你的Ruby鏡像是並且僅是ruby-china,執行以下命令查看
gem sources -l
如果是以下結果說明正確,如果有其他的請自行百度解決
*** CURRENT SOURCES *** https://gems.ruby-china.com/
9、這時候才正式開始安裝CocoaPods
sudo gem install -n /usr/local/bin cocoapods
10、如果安裝了多個Xcode使用下面的命令選擇(一般需要選擇最近的Xcode版本)
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
11、安裝本地庫
pod setup
12、執行以上命令后
Setting up CocoaPods master repo $ /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress Cloning into 'master'... remote: Counting objects: 1879515, done. remote: Compressing objects: 100% (321/321), done. Receiving objects: 21% (404525/1879515), 73.70 MiB | 22.00 KiB/
然后就是漫長的等待,當然,網絡好的情況下會更快
重點來了,注意
最新版的MacOS Catalina系統命令行執行pod setup命令直接結束啦;
莫着急,我們手動安裝本地庫,速度絕對快
命令行執行以下操作
git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/trunk 注意: 注意: 注意: 重要的事情要重申: 使用這個命令執行等待一段時間之后大有可能會失敗, 原因基本是網絡問題, 請不要着急, 根據自己和小伙伴的多次測試, 只有在使用移動手機網絡或者在凌晨的時候網速才會理想 (大概幾分鍾就OK,其他情況下即使你的網絡帶寬很好也沒用) 如果你晚上熬不住,早上起不來,手機流量又沒了,那就往下看吧!哎。。。。。。。
或者使用下面的,國內鏡像,速度剛剛的
git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git ~/.cocoapods/repos/trunk
目錄結構見下圖,如果不是就自己手動移動一下
如果還不行
// 安裝最新版cocoapods sudo gem install cocoapods --pre // 移除本地master sudo rm -fr ~/.cocoapods/repos/master // 移除本地緩存 sudo rm -fr ~/Library/Caches/CocoaPods/ // 重新setup,如果很慢可使用問題1的解決方法(git clone) pod setup --verbose // 移除trunk pod repo remove trunk
可以參考:CocoaPods|安裝流程與使用(macOS-Mojave)
以下一段忽略,直接看 第13步:
要查看文件下載進度的可以另外打開一個終端窗口(快捷鍵:選中終端按下Command+N組合鍵),輸入以下兩行命令回車執行
cd ~/.cocoapods
du -sh *
執行du -sh *之后會顯示已下載的文件大小,可以多次執行來監看下載進度,如果之前還有文件大小,后來變成0了,可能是網絡問題,下載已經中斷了,需要結束命令並從新執行 pod setup
13、下載安裝完成之后可執行下列命令檢查是否可用(第一次使用可能要等一會)
pod search AFNetworking
14、CocoaPods的具體使用
新建一個Xcode工程,使用終端cd到工程目錄下
創建Podfile文件:
pod init
之后就可以在項目目錄里看到一個Podfile文件
打開Podfile文件:
open Podfile
添加:
pod 'AFNetworking'
保存后退出
開始下載:
pod install
我這里第一次都會出錯,只要再次(看人品)執行就好了,可能是網或者其他的原因。
其他;
安裝
$ pod install
升級 (推薦用update,其中update就包含了install)
$ pod update
如果update 或 install 卡住了,可以用下面兩個命令替代(前提是你已經把第三方庫下載下來了)
$ pod install --verbose --no-repo-update
$ pod update --verbose --no-repo-update
Podfile 參考文件(cocoapods 1.0.1版本, 注意:0.3.9版本文件不一樣)
source 'https://github.com/CocoaPods/Specs.git' platform :ios, '7.0' target '07-cocoapods演示' do pod 'AFNetworking', '~> 3.0.4' end