1. 程式人生 > >iOS開發之cocoapods安裝(2017)

iOS開發之cocoapods安裝(2017)

因為淘寶的映象不在維護了,所以最近看到一篇2107年的cocoapods安裝部落格Mark一下大笑

第一步:安裝rvm,

不管需不需要升級ruby,rvm可以讓你擁有多個版本的Ruby,並且可以在多個版本之間自由切換。如果已經安裝過跳到第2步(rvm -v 檢視是否安裝)

$ curl -L get.rvm.io | bash -s stable

//需要等一會

$ source ~/.bashrc

$ source ~/.bash_profile

等待終端載入完畢,後輸入

rvm -v

如果能顯示版本好則安裝成功了。

第二步:安裝ruby

CocoaPods目前安裝需要Ruby的版本大於2.2.2,不然會報錯:Error installing pods: activesupport requires Ruby 

version >= 2.2.2。目前Mac系統預設自帶是2.0,所以需要升級。

檢視已安裝的ruby:

rvm list

如果已安裝版本大於2.2.2,直接到第3步。

ruby -v  //也可以檢視ruby版本

//列出ruby可安裝的版本資訊

rvm list known

rvm install 2.2.2  //安裝一個ruby版本

這裡一定要設定為預設版本

rvm use 2.2.2 --default

第三步:更換源

我們需要來修改更換源(由於國內被牆)所以要把源切換至ruby-china在終端執行以下命令

目前網上文章大都是這面這種:

$ 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 提供映象服務,正確的操作是:

$ 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,可以用以下命令檢視:

$ gem sources -l

只有在終端中出現下面文字才表明你上面的命令是成功的:

*** CURRENT SOURCES ***

https://gems.ruby-china.org/

# 確保只有 gems.ruby-china.org

第四步:安裝CocoaPods

sudo gem install -n /usr/local/bin cocoapods

再加一句,完美解決

sudo xcode-select --switch/Applications/Xcode.app

在終端中輸入如下命令來完成安裝:

pod setup

它需要一點時間來完成,我反正是掛機等了一晚,你等就是了

如果安裝失敗 ~/.cocoapods 裡面是空的,就需要重新setup

命令如下:

pod repo remove master

pod setup

完畢之後這個資料夾大概有 100多M,需要花費比較多時間,請耐心等待。

到這裡你已經成功安裝了CocoaPods

終極辦法:把你已經裝好了cocoaPods同事~/.cocoapods目錄下的repo目錄拷貝下來,放進自己的目錄裡。再  pod setup

為了確定CocoaPods是否可以使用,可以用CocoaPods的搜尋功能驗證一下。在終端中輸入:

$ 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,下載它的一些依賴包;在終端中輸入:

$ 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

結果顯示0 repos,說明沒有安裝成功;

刪除.cocoapods目錄,重新下載pod更新:

$ cd ~/.cocoapods/

$ sudo -rm -rf ~/.cocoapods/

重新執行pod setup,過一段時間後提示setup completed,在終端中輸入 pod list,展示出安裝列表;

敲入以上命令時,小編終端上是這個樣子的(由於太長,僅擷取前面一部分):

錯誤代理

[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --depth=1

Cloning into 'master'...

fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': Failed to connect to proxy.com port 1234: Operation timed out

很明顯啊,應為不好,這歌意思是:代理出現了問題,導致clone不下來,研究了好長時間,於是有一下兩種辦法1》修改代理如:git config --global http.proxy   192.168.1.1:8081(這個代理時瞎寫的)2》

git config --global http.proxy 查詢到當前設定了代理,所以取消這個設定: 

git config --global --unset http.proxy
再查詢,已經沒有了代理,  後成功安裝。

看到這裡,你心裡會不會說,我靠!太爽了,終於下載並且安裝好了!接下來看下如何使用吧。。

我們先建立這個神奇的PodFile。在終端中進入(cd命令)你專案所在目錄,然後在當前目錄下,利用vim建立Podfile,執行:

$ vim Podfile

然後在Podfile檔案中輸入以下文字:

需要注意的是podfile裡面輸入的格式變了。

platform :ios, '8.0'

target '你的專案名稱' do

pod 'AFNetworking', '~> 3.1.0'

end

然後儲存退出。vim環境下,儲存退出命令是:

:wq

這時候,你會發現你的專案目錄中,出現一個名字為Podfile的檔案,而且檔案內容就是你剛剛輸入的內容。注意,Podfile檔案應該和你的工程檔案.xcodeproj在同一個目錄下。

這時候,你就可以利用CocoPods下載AFNetworking類庫了。還是在終端中的當前專案目錄下,執行以下命令:

$ pod install

最近使用CocoaPods來新增第三方類庫,無論是執行pod install還是pod update都卡在了Analyzing dependencies不動

原因在於當執行以上兩個命令的時候會升級CocoaPods的spec倉庫,加一個引數可以省略這一步,然後速度就會提升不少。加引數的命令如下:


$ pod install --verbose --no-repo-update 
$ pod update --verbose --no-repo-update

注意最後一句話,意思是:以後開啟專案就用 CocoaPodsDemo.xcworkspace 開啟,而不是之前的.xcodeproj檔案。否則無法關聯pod下來的類庫。

轉自:http://blog.csdn.net/e62ces0iem/article/details/73550884