一、CocoaPods的簡單介紹
最近公司新來了做iOS的同事,驚訝的發現常用的第三方依然還是在手拖和手動管理,我上去弱弱的問了句為什么不用CocoaPods,居然說不會,感覺好麻煩。。。
其實CocoaPods的安裝和使用已經很簡單很人性化,可能做我們程序員這一行的還是需要盡可能的去接受新事物吧~不知道不覺廢話又多了
CocoaPods是一款管理iOS第三方開源庫的工具,其實就是對于Github上項目源碼的下載和管理。如果你在已經安裝好了CocoaPods的情況,去下載常用的,如AFNetworking第三方庫,就很方便,并且也會幫你自動配置好系統的依賴庫。在第三方庫隨著版本更新之后,我們也只需要簡單的配置管理即可。
二、CocoaPods的安裝過程
1.Ruby環境的確認和升級
CocoaPods的安裝是需要再Ruby環境下的,Gem是一個管理Ruby庫和程序的標準包,至于Ruby有興趣的同學可額外去學習下,這里不展開。我們的電腦一般都是自帶Ruby環境了,大家可以打開終端,然后輸入
$ gem update --system(“$”這個符號終端是自帶了的,我們只需要輸入$后面的內容即可)
如果看到終端返回這句話,說明Ruby環境你是最新的版本了,直接跳過到第二步即可。如果出現以下情況
ERROR: While executing gem ... (Gem::FilePermissionError)
You don‘t have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
是因為你沒有權限去更新Ruby,需要輸入升級
$ sudo gem update —system
會出現一個??一樣的樣子,需要你輸入電腦賬號的密碼,你直接輸入按回車即可,密碼它默認是不會顯示的。輸入之后就是自動升級了,稍等一會兒就OK了
2.CocoaPods下載和安裝
首先查看自己電腦上的ruby源,輸入
$ gem sources -l
假設你之前沒有添加或者刪除任何源,終端的顯示應該是
*** CURRENT SOURCES ***
https://rubygems.org/
因為這個源在國內是無法訪問到的,所以我們需要用鏡像源來替代,現在可以用
https://rubygems-china.oss.aliyuncs.com(這個可能隨著時間會失效,但目前還是可以用的,之前的taobao鏡像就已經失效了)
這個來代替,先刪除自帶的,所以我們在終端輸入
$ gem sources --remove https://rubygems.org/
之后終端會顯示
https://rubygems.org/ removed from sources
說明已經刪除成功,接下來加入我們的鏡像源,終端輸入
$ gem sources -a https://rubygems-china.oss.aliyuncs.com
完成之后,用gem sources -l命令再查看一下,應該會出現下圖內容
接下來,真正安裝Cocoapods,終端輸入
$ sudo gem install cocoapods
安裝的時候會出現一些數字,安裝進度條什么的,直到終端出現
gems installed
這樣的字樣,說明cocoapods安裝完成,然后我們嘗試下看能否使用,在終端輸入
$ pod search AFNetworking
執行后可能會一直停在
Setting up CocoaPods master repo一段時間之后會出現幾行字樣的錯誤:
類似error,fatal,failed等(沒有圖,莫怪我)
這說明CocoaPods還不能正常使用,需要更新pod,下載它的一些依賴包;在終端中輸入
$ pod setup
這說明某些環境原因導致pod更新不了,可能原因:1)gem版本太低;2)github無法鏈接;3).cocoapods目錄下的配置信息錯誤。我們可以一個一個來排除,
首先更新gem到最新版本,在終端中輸入
$ sudo gem update --system
然后檢查是否可以ping通github,在終端中輸入
$ ping github.com
然后查看pob repo list
$ pod repo list
說明Cocoapods在將它的信息下載到 ~/.cocoapods里;cd 到該目錄里,用du -sh *命令來查看文件大小,結果顯示0 repos,說明沒有安裝成功,在終端輸入
$ cd ~/.cocoapods
進入cocoapods文件后在終端輸入
$ du -sh *
重新執行pod setup,(可能會過很久,具體還要看網速)過一段時間后提示setup completed,在終端中輸入 pod list,展示出安裝列表;
這樣總算安裝好了。接下來再一次輸入
$ pod search AFNetworking
輸入過后它可能會報:
[!] Unable to find a pod with name, author, summary, or descriptionmatching AFNetworking
解決方案是,終端輸入:
rm ~/Library/Caches/CocoaPods/search_index.json
之后,真的是最后一次輸入
$ pod search AFNetworking
以上CocoaPods安裝完成
三、CocoaPods的使用
CocoaPods使用可以 vim這種方法,這里我講下我自己常用的方法好了。
假設我們在桌面創建了一個工程:
那么我們在終端輸入
$ cd Desktop/gitDemo (這里是要移動到你工程主目錄下面,具體看你工程放的位置,我的因為在桌面,所以比較方便)
接下去創建Podfile文件
$ pod init
你的工程目錄下,會多了一個Podfile文件
接下去,就在終端搜索你要添加的第三方庫,比如AFNetworking
$ pod search AFNetworking
找到你需要的版本,然后復制劃線的那句話,打開Podfile 在 do 和 end 之間 粘貼,如下圖
返回終端輸入
$ pod install
此時,應該是這樣的
打開工程,你會發現多了一些文件
這樣就最終完成了,打開白色的工程文件,就可以運行了
如果有有在 pod set 那一步 一直長時間等待,沒有跳出來相關提醒的,那可能是因為os10.11+和cocoapods1.0+版本升級的安全機制更改造成的,且該過程等待時間非常長,所以,你可以在$sudo gem install -n /usr/local/bin cocoapods命令后直接執行 $Git clone https://git.coding.net/CocoaPods/Specs.git ~/.cocoapods/repos/master 該過程作用與 pod setup作用相同,
過上一段時間,你可能會在終端中看到跟上面同樣的紅色的錯誤信息。