最近在使用cocoapods時,因為沒有很系統的了解,導致要頻繁的去網上查閱各種資料,結果很多資料都已經過時,或是使用后頻繁報錯,最終結果就是要踩很多的坑,費時費力。碰壁過后,決定把資源好好整合一下,查漏補缺。
首先,關于cocoapods是啥,為什么要使用?使用有什么好處,可以點擊查看這篇文章,里面說的很詳細:細聊 Cocoapods 與 Xcode 工程配置。我這就不啰嗦了。
CocoaPods 是用 gem ruby 實現的,要想使用它首先需要有 gem ruby 的環境。且 MAC 的 OS X系統默認已經可以運行 ruby 。但是當 gem ruby 包版本低于 2.2.2 時,安裝 CocoaPods 會報錯;為防止 gem ruby 包環境過低,建議先升級 gem ruby 環境,建議升級到 2.6.x 版本以上。(此步操作可以查看A-2步驟的其他指令)
故其先后步驟是:安裝RVM,再安裝ruby環境,再安裝cocoapods.
第一步,安裝cocoapods,安裝之前,首先需要安裝RVM和檢查ruby版本環境。(以下命令全在終端執行)
A-1安裝RVM:
a步驟、rvm -v ? ?//檢查當前 rvm 環境,若不存在,執行b步驟。若存在,直接跳至A-2.
b步驟、curl -L https://get.rvm.io | bash -s stable ? //安裝RVM環境
? ? ? ? ? ? ? source ~/.rvm/scripts/rvm? ? ? ? ? //載入RVM環境
c步驟、rvm -v? ? //再次檢查當前 rvm 環境。
A-2安裝ruby版本環境(用 rvm 安裝 ruby 環境;)
a步驟、? rvm list known ? ? ? ? ? ? ? ? //安裝ruby,查詢已知的 ruby 環境。?
b步驟、 rvm install 2.3.0? ? ? ? ? ? ? ? //指定 ruby 版本進行更新( 此處按照 ruby 2.3.0 版本進行更新 ---更新時在 ?安裝homebrew` 安裝依賴包)。
c步驟、rvm list? ? ? ? ? //查詢ruby是否已經安裝好的。
ruby其他相關指令:
rvm remove 1.9.2 ? ? ?//卸載一個已安裝版本:
sudo gem -v? ? ? ? //檢查 gemruby 版本號
sudo gem update --system? ? ? ? ? //更新 gemruby 版本號
A-3更換鏡像源(需要來修改更換源國內鏡像源,taobao源 (已經停止維護了)切換至ruby-china源
a步驟、gem sources -l ? ? ? ? //檢查 ruby源
b步驟、 gem sources --remove https://rubygems.org/ ? ? ?//移除 ruby源
c步驟、gem sources --add https://gems.ruby-china.org? ? //替換 ruby-china源
d步驟、gem sources -l ? ? ? ? //再次檢查此時的 ruby 源
A-4安裝CocoaPods.
a步驟、安裝 CocoaPods.(若安裝失敗,執行C步驟)
OS X 10.11之前系統的安裝 CocoaPods 指令: $ sudo gem install cocoa pods ??
OS X 10.11以后系統的安裝 CocoaPods 指令: $ sudo gem install -n /usr/local/bin cocoa pods
b步驟、下載過程中可新建一個終端,輸入命令 cd ~/.cocoapods進入終端,輸入命令du -sh *查看下載進度.
c步驟:(若a步驟安裝失敗,執行下列命令)
pod setup? ? ? ? ? ? ? ? ? //更新pod,
sudo gem update --system? ? ? ? ? //更新gem到最新版本
ping github.com? ? ? ? ? ? ? ? //檢查是否可以ping通github
pod repo list? ? ? ? ? ? ? //查看pob repo list
rm ~/Library/Caches/CocoaPods/search_index.json? ? ? //仍報錯則輸入
d步驟、通過搜索第三方框架,驗證是否安裝成功.
pod search 第三方庫
第二部,cocoapods使用。
第一步:打開終端,在終端輸入cd 按一下空格鍵, 然后把工程文件夾拖到終端內生成路徑。
第二步:在終端輸入ls,驗證打開路徑是否正確,對比一下文件夾目錄是否正確。
第三步:在終端輸入:vim Podfile? ,創建Podfile文件。
第四步:輸入i,進入編輯模式,輸入第三方庫相關一些信息。官方版文檔格式為(舉例):
platform :ios, '8.0'? ? ? ? ? ? //iOS版本
target '你的項目名稱' do? ? ? ? ? //項目名稱
pod 'AFNetworking', '~> 3.0' ? ? ? ? //舉例
end ? ? ? ? ? ? ? ?//完成
第五步:編輯完后,按下esc鍵,退出編輯模式。再輸如:wq,保存退出.
第六步:輸入pod install ,對你所需要的第三方進行下載。
第七步:由Cocoapods生成的 .xcworkspace文件來打開工程,而不是使用以前的.xcodeproj文件。
注意:當執行pod install之后,除了Podfile,還會生成一個名為Podfile.lock的文件,它會鎖定當前各依賴庫的版本,之后即使多次執行pod install也不會更改版本,只有執行pod update才會改變Podfile.lock.在多人協作的時候,這樣可以防止第三方庫升級時候造成大家各自的第三方庫版本不一致。所以在提交版本的時候不能把它落下,也不要添加到.gitignore中。
小竅門:
1、創建Podfile文件(在終端輸入:touch Podfile),此時Podfile文件就生成了。
2、在終端輸入: open -e Podfile),就可以在文本編輯器中對Podfile文件進行修改。
3、每次更改了Podfile文件,都需要重新執行一次pod update命令。
想詳細了解安裝流程的可以去看下這篇文章:2017最新安裝cocoapods流程。
另外收集了一些針對錯誤、缺陷提供的解決辦法。
問題1:執行pod install還是pod update都卡在了Analyzing dependencies不動。
解決辦法:原因在于當執行以上兩個命令的時候會升級CocoaPods的spec倉庫,加一個參數可以省略這一步,然后速度就會提升不少。加參數的命令如下:? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
問題2:使用cocoaPods后,import導入時第三方庫頭文件沒有提示。
解決辦法:看這里
問題3:待繼續補充。
最后,卸載cocoapods再重新安裝。
1、 sudo gem uninstall cocoapods
2、sudo gem uninstall cocoapods-core
3、sudo rm -fr ~/.cocoapods/repos/master? ? ? ? ? //清除cocoapods緩存
4、sudo gem install -n /usr/local/bin cocoapods --pre? ? //重裝cocoapods
以上,按照步驟來是比較速成的安裝方法,不會四處碰壁,至于想弄清其中緣由,那還得自己親身踩一下坑才會明白。我只是安裝自己容易接受的方式做了一次搬運工。