一、前言
ios觀播SDK內建時,首先需要環境配置。配置步驟為:
Xcode -> homebrew -> RVM -> Ruby -> CocoaPods;
前期已經完成Xcode 與 homebrew。
二、環境搭建
對于新入門的開發者,如何安裝 Ruby和Ruby Gems 的運作環境可能會是個問題,本頁主要介紹如何快速安裝 Ruby 開發環境。
2.1 安裝Ruby
步驟1 安裝 RVM
$ curl -L https://get.rvm.io | bash -s stable
然後,載入 RVM 環境(新開 Termal 的話就不用這麼做了,會自動重新載入的)
$ source ~/.rvm/scripts/rvm
檢查一下是否安裝正确
$ rvm -v
rvm 1.22.17 (stable) by Wayne E. Seguin <[email protected]>, Michal Papis <[email protected]> [https://rvm.io/]
步驟2 用 RVM 安裝 Ruby 環境
列出已知的ruby版本
$ rvm list known
可以選擇現有的rvm版本來進行安裝(下面以rvm 2.7.2版本的安裝為例)
$ rvm install 2.7.2
同樣繼續等待漫長的下載下傳,編譯過程,完成以後,Ruby, Ruby Gems 就安裝好了。
查詢已經安裝的ruby
$ rvm list
解除安裝一個已安裝版本
$ rvm remove 1.9.2
步驟3 設定 Ruby 版本
RVM 裝好以後,需要執行下面的指令将指定版本的 Ruby 設定為系統預設版本。
$ rvm 2.7.2 --default
同樣,也可以用其他版本号,前提是你有用 rvm install 安裝過那個版本。
這個時候你可以測試是否正确
$ ruby -v
ruby 2.7.2p137 (2020-10-01 revision 5445e04352) [x86_64-darwin22]
$ gem -v
3.1.4
這有可能是因為Ruby的預設源使用的是cocoapods.org,國内通路這個網址有時候會有問題,網上的一種解決方案是将遠替換成可用的,替換方式如下:
$gem source -r https://rubygems.org/
$gem source -a https://gems.ruby-china.com/
要想驗證是否替換成功了,可以執行:
$ gem sources -l
正常的輸出結果:
CURRENT SOURCES
https://gems.ruby-china.com/
到這裡就已經把Ruby環境成功的安裝到了Mac OS X上,接下來就可以進行相應的開發使用了。
2.2 安裝CocoaPods
CocoaPods是什麼?
當你開發iOS應用時,會經常使用到很多第三方開源類庫,比如JSONKit,AFNetWorking等等。可能某個類庫又用到其他類庫,是以要使用它,必須得另外下載下傳其他類庫,而其他類庫又用到其他類庫,“子子孫孫無窮盡也”,這也許是比較特殊的情況。總之小編的意思就是,手動一個個去下載下傳所需類庫十分麻煩。另外一種常見情況是,你項目中用到的類庫有更新,你必須得重新下載下傳新版本,重新加入到項目中,十分麻煩。如果能有什麼工具能解決這些惱人的問題,那将“善莫大焉”。是以,你需要 CocoaPods。
CocoaPods應該是iOS最常用最有名的類庫管理工具了,上述兩個煩人的問題,通過cocoaPods,隻需要一行指令就可以完全解決,當然前提是你必須正确設定它。重要的是,絕大部分有名的開源類庫,都支援CocoaPods。是以,作為iOS程式員的我們,掌握CocoaPods的使用是必不可少的基本技能了。
使用以下指令安裝cocoapods。
$sudo gem install -n /usr/local/bin cocoapods
然後執行
$pod setup
經過以上操作步驟,便完成了 Ruby 及 CocoaPods 的安裝。
2.3 使用中遇到的問題
Cocoapods更新不到最新的第三方庫
情況一:
打開終端,檢視一下cocoapods的版本号:pod --version
如果不是最新版本,更新一下cocoapods版本:sudo gem install -n /usr/local/bin cocoapods --pre
但是有時候cocoapods升到最新版本後我cd到工程檔案下pod install,發現還是沒有更新最新的庫。這時候需要更新本地Pod的索引檔案:pod setup或pod repo update
此時在pod install或pod update,A庫應該就是最新的了。
情況二:
可能是别的庫鎖定了這個庫的版本,也就是第三方庫裡用了第三方庫并把它的版本給鎖定了。
更新索引庫或者指定第三方
$pod update 第三方名字
例如:
$pod update AFNetworking
GIT送出時忽略Pods檔案
如果Pods已經送出過或緩存過請執行以下步驟(沒有就忽略此步)驟:
cd 到項目目錄
$git rm -r --cached .
$git add .
$git commit -m "忽略Pods"
在GitHub上建立項目時選擇對應的語言會生成.gitignore檔案,預設是隐藏的,打開此檔案找到。Pods/ 預設是注釋掉的, 去掉前面的#即可, 這樣在pod架構下得檔案就不會再納入管理. 在其他開發人員使用時, 克隆代碼後隻需要做一下 pod install即可.(注意:pod update 是不可以的)
在此使用pod install而不是pod update原因如下:
pod install執行時如果有Podfile.lock檔案,則三方庫會根據lock檔案記錄的版本更新為最新版本
pod update 不管是否有Podfile.lock檔案,都會将在(Podfile中引入時未寫版本的第三方庫)更新為網絡上最新的版本,會造成庫找不到的問題。