前期準備
- 檢測Ruby鏡像地址
gem sources -l
默認情況下,終端應該返回如下信息 https://rubygems.org/
如果是這個地址,一般是訪問不到cocoapods的,一般方法是用淘寶的RubyGems鏡像來代替官方版本.
- 移除原來的鏡像地址
gem sources --remove https://rubygems.org/
執行完這條命令后可以看到終端輸出https://rubygems.org/ removed from sources
,表示原來鏡像已經被移除
- 添加新的鏡像
gem sources -a https://ruby.taobao.org/
為了驗證你的Ruby鏡像是并且僅是taobao,可以用gem sources -l
命令查看現在的鏡像,只有在終端中出現https://ruby.taobao.org/
時才表明你上面的命令是成功的
注意:http://rubygems-china.oss.aliyuncs.com 這個阿里云的鏡像地址也是可以的
配置Ruby環境
安裝CocoaPods之前需要先配置Ruby環境,如果原來已經配置過Ruby環境,則升級Ruby環境
sudo gem update --system
附:查看是否已經安裝過ruby以及ruby版本rvm list
如果配置過Ruby環境,則可以跳過后面的步驟,直接查看安裝Cocoapods的方法。如果沒有配置過Ruby環境,則需先安裝Ruby。安裝Ruby之前,最好先安裝一個Xcode,它將幫你安裝好 Unix 環境需要的開發包
安裝 RVM
- RVM
curl -L https://get.rvm.io | bash -s stable
期間可能會問你sudo管理員密碼,以及自動通過homebrew安裝依賴包,等待一段時間后就可以成功安裝好 RVM。
- 載入 RVM 環境
source ~/.rvm/scripts/rvm
注意:如果新開一個 Termal 就不用這么做了,可以直接跳過次步,系統會自動重新載入的
- 檢查是否安裝正確
rvm -v
如果輸出以下內容則表示安裝成功
rvm 1.22.17 (stable) by Wayne E. Seguin wayneeseguin@gmail.com, Michal Papis mpapis@gmail.com [https://rvm.io/]
用 RVM 安裝 Ruby 環境
- 列出已知的ruby版本
rvm list known
會列出ruby現在的所有版本,一般會選擇安裝最新版本
- 安裝RVM(下面以rvm 2.3.0版本的安裝為例)
rvm install 2.3.0
同樣繼續等待漫長的下載,編譯過程,完成以后,Ruby, Ruby Gems 就安裝好了。
附:##
查詢已經安裝的ruby
rvm list
卸載一個已安裝版本
rvm remove 1.9.2
設置 Ruby 版本
- 設置默認版本
rvm 2.3.0 --default
RVM 裝好以后,需要執行命令將指定版本的 Ruby 設置為系統默認版本
同樣,也可以用其他版本號,前提是你有用 rvm install 安裝過那個版本
- 檢測是否設置正確
ruby -v
如果輸出ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15]
則表示設置成功
附:查看gem版本
gem -v
到這里就已經把Ruby環境成功的安裝到了Mac OS X上
安裝Cocoapods
如果系統版本在10.11以下
在終端輸入命令
sudo gem install cocoapods
如果系統版本在10.11以上,因為10.11把cocoapods直接干掉了
在終端輸入
sudo gem install -n /usr/local/bin cocoapods
sudo xcode-select --switch /Applications/Xcode.app
在終端中輸入如下命令來完成安裝
pod setup
終端會顯示Setting up CocoaPods master repo
一般會等很久,如果提示setup completed,這個說明安裝完成,以后就可以安心使用cocoapods了
第一次執行pod setup
時,CocoaPods 會將這些podspec索引文件更新到本地目錄,這個索引文件比較大,有 80M 左右。所以第一次更新時非常慢,等待時間取決于網速,等待時間較長。
注意:Cocoapods在將它的信息下載到 ~/.cocoapods, 可以cd到這個文件夾中查看文件下載進度,
cd ~/.cocoapods
du -sh *
安裝可能會提示安裝失敗,可能錯誤碼
[!] /usr/bin/Git clone 'https://github.com/CocoaPods/Specs.git' master --depth=1
Cloning into 'master'...
error: RPC failed; result=52, HTTP code = 0
fatal: The remote end hung up unexpectedly
這說明某些環境原因導致pod更新不了,可能原因有,1、gem版本太低;2、github無法鏈接;3、.cocoapods目錄下的配置信息錯誤。我們可以一個一個來排除
1.首先更新gem到最新版本,在終端中輸入
sudo gem update --system
2.然后檢查是否可以ping通github,在終端中輸入:
ping github.com
3.然后查看pob repo list:
pod repo list
如果結果顯示0 repos,說明沒有安裝成功
如果是第三個錯誤,這個網上有幾個解決方案
- cd到.cocoapods目錄,刪除目錄下文件,重新下載pod更新,之后再次安裝
cd ~/.cocoapods
sudo -rm -rf ~/.cocoapods
pod setup
- 移除本地文件,之后重新執行安裝命令
pod repo remove master
pod setup
我試過這兩個方法,好像都沒有解決,直接暴力的把.cocoapods這個隱藏文件夾整個刪除了,之后再重新執行安裝命令pod setup
另外還有一個解決方案是直接從gitHub或開源中國中下載別人提交到git的Specs文件,將下載的文件放到~/.cocoapods/repos/master/
文件夾中
CocoaPods的使用
- cd到你的工程目錄所在文件夾
- 新建一個名為 Podfile 的文件
touch Podfile
- 添加依賴庫
打開Podfile,將依賴的庫名字依次列在文件中即可
target 'YourProjectName' do
platform :ios
pod 'JSONKit', '~> 1.4'
pod 'Reachability', '~> 3.0.0'
pod 'AFNetworking', '~> 3.0'
pod 'MJRefresh'
pod 'RegexKitLite'
end
- 導入
pod install
現在,你的所有第三方庫都已經下載完成并且設置好了編譯參數和依賴,你只需要記住如下 2 點即可:
- 使用 CocoaPods 生成的 *.xcworkspace 文件來打開工程,而不是以前的 *.xcodeproj 文件。
- 每次更改了 Podfile 文件,你需要重新執行一次
pod update
命令。
注:
1.添加依賴庫時,在所有庫之前需要輸入target 'YourProjectName' do
這行代碼,其中YourProjectName是當前工程的工程名,最后需要輸入end
。如果不輸入這兩句,執行install時,會報錯The dependency `JSONKit (~> 1.4)` is not used in any concrete target.
2.正確的執行完install后,你的工程中就有了這個庫,使用時只要導入庫的頭文件就可以正常使用,不用再將庫文件拖入工程中