二、CocoaPods 安裝 CocoaPods可以方便地通過Mac自帶的RubyGems安裝。 打開Terminal(Mac電腦自帶的終端): (1).設置ruby的軟體源 這是因為ruby的軟體源rubygems.org因為使用亞馬遜的雲服務,被我天朝屏蔽了,需要更新一下ruby的源,過程如下: ...
二、CocoaPods 安裝
CocoaPods可以方便地通過Mac自帶的RubyGems安裝。
打開Terminal(Mac電腦自帶的終端):
(1).設置ruby的軟體源
這是因為ruby的軟體源rubygems.org因為使用亞馬遜的雲服務,被我天朝屏蔽了,需要更新一下ruby的源,過程如下:
1 2 3 4 5 6 7 |
gem sources -l #(查看當前ruby的源)
gem sources --remove https: //rubygems.org/ #(移除當前ruby的源)
gem sources -a https: //ruby.taobao.org/ #(設置當前ruby的源為我天朝的)
gem sources -l #(再次查看當前ruby的源)
|
如果Terminal輸出以下樣式,就證明ruby的軟體源已經設置OK了。
1 2 3 |
*** CURRENT SOURCES ***
https: //ruby.taobao.org/
|
(2).設置gem為最新版本
1 2 3 4 5 6 7 |
如果gem太老,可以嘗試用如下命令升級gem:
在Terminal輸入以下命令:
sudo gem update --system
升級成功後會提示: Latest version currently installed. Aborting.
|
(3).執行安裝CocoaPods命令
1 |
sudo gem install cocoapods
|
如果報以下錯誤:
1 2 3 |
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
|
解決方案1(建議):
1 2 3 |
sudo gem install -n /usr/local/bin cocoapods
pod setup
|
註意:pod setup在執行時,會輸出Setting up CocoaPods master repo,但是會等待比較久的時間。這步其實是 Cocoapods 在將它的信息下載到 ~/.cocoapods目錄下,如果你等太久,可以試著 cd 到那個目錄,用du -sh *來查看下載進度。
安裝成功後,你會看到:Setup completed
解決方案2(不建議,沒試過):
1 2 3 4 5 6 7 8 9 |
執行下麵的命令並重啟
sudo nvram boot-args= "rootless=0"
sudo reboot
重啟之後, 執行這個命令檢查
sudo gem install cocoapods -V
|
解決完成後,重新執行安裝CocoaPods命令
1 |
sudo gem install cocoapods
|
(3)、安裝完成後,搜索下試試看
1 2 |
執行 (不分大小寫)
pod search AFNetworking
|
顯示如上圖就是ok了,是不是裝好了呢?
註:一些常見的安裝問題:
【問題1】
pod search afnetworking 的時候出現:
[!] Unable to find a pod with name, author, summary, or description matching `afnetworking`
解決辦法:
第一步移除index:rm ~/Library/Caches/CocoaPods/search_index.json
第二步再次查找: pod search afnetworking
【問題2】
sudo gem install cocoapods 的時候出現:
1 2 |
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
|
解決辦法:
第一步:
1 2 3 |
sudo gem install -n /usr/local/bin cocoapods
pod setup
|
第二步:
1 |
sudo gem install cocoapods
|
三、Cocoapods的使用
1.新建Podfile文件(用過的都知道,不知道可以百度怎麼建)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
Podfile文件內容的格式應該如下:
platform :ios, '8.0' #(註明你的開發平臺以及版本,'8.0'忽略不寫即為最新版本)
pod 'AFNetworking' , '~> 2.5.3' #('~> 2.5.3'為版本號,忽略不寫即為最新版本)
pod 'SDWebImage' , '~> 3.7.2'
然後在Terminal進入工程所在的根目錄(工程根目錄)中執行 :
pod install
這樣,AFNetworking和SDWebImage就已經下載完成並且設置好了編譯參數和依賴,以後使用的時候切記如下兩點:
1.從此以後需要使用Cocoapods生成的 .xcworkspace文件來打開工程,而不是使用以前的.xcodeproj文件
2.每次更改了Podfile文件,都需要重新執行一次pod update命令
|
查找第三方庫:
你如果不知道 cocoaPods 管理的庫中,是否有你想要的庫,那麼你可以通過 pod search 命令進行查找,以下是我用 pod search json 查找到的所有可用的庫:
可以在Terminal中輸入:
pod search AFNetworking
回車之後就可以看到和你搜索的關鍵字相關的一些庫類,如圖:
關於 Podfile.lock
當你執行pod install之後,除了 Podfile 外,CocoaPods 還會生成一個名為Podfile.lock的文件,Podfile.lock 應該加入到版本控制裡面,不應該把這個文件加入到.gitignore中。因為Podfile.lock會鎖定當前各依賴庫的版本,之後如果多次執行pod install 不會更改版本,要pod update才會改Podfile.lock了。這樣多人協作的時候,可以防止第三方庫升級時造成大家各自的第三方庫版本不一致