cocoapods是什么?
cocoapods是一個負責管理ios項目中第三方開源庫的工具。cocoapods的項目源碼在github上管理。該項目開始于2011年8月12日,在這兩年多的時間里,它持續保持活躍更新。開發ios項目不可避免地要使用第三方開源庫,cocoapods的出現使得我們可以節省設置和更新第三方開源庫的時間,在ios開發中經常會用到第三方庫如afnetworking,asihttprequest等,在使用第三方庫時,你除了要導數源碼外,但是,集成這些依賴庫需要我們手動去配置,還有當這些第三方庫發生了更新,還需要手動去更新項目。這就顯得非常麻煩。有麻煩自然有解決辦法,cocoapods就是為了解決這個問題而生的。通過cocoapods,我們可以將第三方的依賴庫統一管理起來,配置和更新只需要通過簡單的幾行命令即可完成。
最近安裝cocoapods,在網上找了一下資料,發現文章要么過時,要么各種報錯。都是抄來抄去,沒有靠譜的,特意整理了一下最新的教程,并親測成功。taobao gems 源已停止維護,現由 ruby-china 提供鏡像服務
第一步:安裝rvm,
不管需不需要升級ruby,rvm可以讓你擁有多個版本的ruby,并且可以在多個版本之間自由切換。如果已經安裝過跳到第2步(rvm -v 查看是否安裝)
1
2
3
4
|
$ curl -l get.rvm.io | bash -s stable //需要等一會 $ source ~/.bashrc $ source ~/.bash_profile |
等待終端加載完畢,后輸入
1
|
rvm -v |
如果能顯示版本好則安裝成功了。
第二步:安裝ruby
cocoapods目前安裝需要ruby的版本大于2.2.2,不然會報錯:error installing pods: activesupport requires ruby version >= 2.2.2。目前mac系統默認自帶是2.0,所以需要升級。
查看已安裝的ruby:
1
|
rvm list |
如果已安裝版本大于2.2.2,直接到第3步。
1
2
3
4
|
ruby -v //也可以查看ruby版本 //列出ruby可安裝的版本信息 rvm list known rvm install 2.2.2 //安裝一個ruby版本 |
這里一定要設置為默認版本
1
|
rvm use 2.2.2 -- default |
第三步:更換源
我們需要來修改更換源(由于國內被墻)所以要把源切換至ruby-china在終端執行以下命令
目前網上文章大都是這面這種:
1
2
3
4
|
$ sudo gem update -- system $ gem sources -- remove https: //rubygems.org/ //等有反應之后再敲入以下命令 $ gem sources -a https: //ruby.taobao.org/ |
這里是個大坑:會報錯_connect returned=1 errno=0 state=sslv3 read servercertificateb:certificate verify failed (https://ruby.taobao.org/specs.4.8.gz)
這是因為taobao gems 源已停止維護,現由 ruby-china 提供鏡像服務,正確的操作是:
1
2
3
4
5
|
$ sudo gem update -- system $ gem sources -- remove https: //rubygems.org/ $ gem sources -- remove https: //ruby.taobao.org/ //如果安裝了淘寶的鏡像 //等有反應之后再敲入以下命令 gem sources -a https: //gems.ruby-china.org/ |
為了驗證你的ruby鏡像是并且僅是ruby-china,可以用以下命令查看:
1
|
$ gem sources -l |
只有在終端中出現下面文字才表明你上面的命令是成功的:
*** current sources ***
# 確保只有 gems.ruby-china.org
第四步:安裝cocoapods
1
|
sudo gem install -n /usr/local/bin cocoapods |
再加一句,完美解決
1
|
sudo xcode-select -- switch /applications/xcode.app |
在終端中輸入如下命令來完成安裝:
pod setup
它需要一點時間來完成,我反正是掛機等了一晚,你等就是了
如果安裝失敗 ~/.cocoapods 里面是空的,就需要重新setup
命令如下:
1
2
|
pod repo remove master pod setup |
完畢之后這個文件夾大概有 100多m,需要花費比較多時間,請耐心等待。
到這里你已經成功安裝了cocoapods
為了確定cocoapods是否可以使用,可以用cocoapods的搜索功能驗證一下。在終端中輸入:
1
|
$ pod search afnetworking |
過一段時間之后(可能會比較久),你會在終端中看到一些紅色的錯誤信息,如下:
setting up cocoapods master repo
[!] /usr/bin/gitclone '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
這說明cocoapods還不能正常使用,需要更新pod,下載它的一些依賴包;在終端中輸入:
1
|
$ pod setup |
過一段時間之后,你會在終端中看到跟上面同樣的紅色的錯誤信息。
敲入以上命令時,小編終端上是這個樣子的(由于太長,僅截取前面一部分):
這說明某些環境原因導致pod更新不了,可能原因有,1)gem版本太低;2)github無法鏈接;3).cocoapods目錄下的配置信息錯誤。我們可以一個一個來排除,
首先更新gem到最新版本,在終端中輸入:
1
|
$ sudo gem update -- system |
然后檢查是否可以ping通github,在終端中輸入:
1
|
$ ping github.com |
然后查看pob repo list:
1
|
$ pod repo list |
結果顯示0 repos,說明沒有安裝成功;
刪除.cocoapods目錄,重新下載pod更新:
1
2
|
$ cd ~/.cocoapods/ $ sudo -rm -rf ~/.cocoapods/ |
重新執行pod setup,過一段時間后提示setup completed,在終端中輸入 pod list,展示出安裝列表;
敲入以上命令時,小編終端上是這個樣子的(由于太長,僅截取前面一部分):
看到這里,你心里會不會說,我靠!太爽了,終于下載并且安裝好了!接下來看下如何使用吧。。
我們先創建這個神奇的podfile。在終端中進入(cd命令)你項目所在目錄,然后在當前目錄下,利用vim創建podfile,運行:
1
|
$ vim podfile |
然后在podfile文件中輸入以下文字:
需要注意的是podfile里面輸入的格式變了。
1
|
platform :ios, '8.0' |
target '你的項目名稱' do
1
|
pod 'afnetworking' , '~> 3.1.0' |
end
然后保存退出。vim環境下,保存退出命令是:
:wq
這時候,你會發現你的項目目錄中,出現一個名字為podfile的文件,而且文件內容就是你剛剛輸入的內容。注意,podfile文件應該和你的工程文件.xcodeproj在同一個目錄下。
這時候,你就可以利用cocopods下載afnetworking類庫了。還是在終端中的當前項目目錄下,運行以下命令:
1
|
$ pod install |
注意最后一句話,意思是:以后打開項目就用 cocoapodsdemo.xcworkspace 打開,而不是之前的.xcodeproj文件。否則無法關聯pod下來的類庫。
以上所述是小編給大家介紹的2016最新cocoapods安裝和錯誤解決方案,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對服務器之家網站的支持!
原文鏈接:http://www.jianshu.com/p/2ef8a38416c4