全網最新CocoaPods安裝教程(持續更新)
雖然網上關於CocoaPods安裝教程多不勝數,但是我在安裝的過程中還是出現了很多錯誤,所以大家可以照下來步驟裝一下,我相信會很好用.
前言
在iOS專案中使用第三方類庫可以說是非常常見的事,但是要正確地配置他們有時候是非常繁瑣的事情,幸運的是CocoaPods是一個很好的解決方案。
什麼是CocoaPods
CocoaPods是OS X和iOS下的一個第三類庫管理工具,通過CocoaPods工具我們可以為專案新增被稱為“Pods”的依賴庫(這些類庫必須是CocoaPods本身所支援的),並且可以輕鬆管理其版本。
Cocoapods意義體現在兩個方面。第一,在引入第三方庫時它可以自動為我們完成各種各樣的配置,包括配置編譯階段、聯結器選項、甚至是
接下來我們將介紹CocoaPods的使用。
CocoaPods的核心元件
CocoaPods是用Ruby寫的,並劃分成了若干個Gem包。
CocoaPods在解析執行過程中最重要的幾個包的路徑分別是:CocoaPods/CocoaPods、 CocoaPods/Core和 CocoaPods/Xcodeproj。
CocoaPods / CocoaPod:這是面向使用者的元件,每當執行一個pod命令時,這個元件將被啟用。它包括了所有實用
CocoaPods / Core:Core gem提供了與CocoaPods相關的檔案(主要是podfile和podspecs)的處理。
Podfile:該檔案用於配置專案所需要的第三方庫,它可以被高度定製。本文中我們主要在這裡做動作。
Podspec:該檔案描述了一個庫將怎樣被新增進工程中。.podspec檔案可以標識該第三方庫所需要的原始碼檔案、依賴庫、編譯選項,以及其他第三方庫需要的配置。
CocoaPods / Xcodeproj:這個包負責處理工程檔案,它能建立以及修改.xcodeproj檔案和.xcworkspace檔案。它也可以作為一個獨立的包使用,當你要編寫修改專案檔案的指令碼時,可以考慮使用
Cocoapods安裝步驟
1、升級Ruby環境
終端輸入:$gem update --system
此時會出現
ERROR: While executing gem ... (Gem::FilePermissionError)
You don't have write permissions for the /Library/Ruby/Gems/2.0.0 directory.
zijingMacBook-Pro:~ shiyunlei$ sudo gem update —system
這個是因為你沒有許可權去更新Ruby
這個時候你可以在終端使用:$sudo gem update —system來進行升級
這個時候表示Ruby升級完成。
2、安裝CocoaPods時我們要訪問cocoapods.org,該網站可能被我們大天朝牆了,這樣下載安裝可能會是龜速,幸好我們可以用淘寶的Ruby映象來訪問該網站,方法如下:
可以使用下面的命令(紅色部分)檢視是否更換映象成功(如下圖所示):$ gem sources -l
3、安裝Cocoapods,在終端輸入命令
$sudo gem install cocoapods
這個時候會提示你輸入密碼,注:在終端輸入密碼不會有提示,游標也不會移動,一定要注意
開始安裝,如下圖:PS:這個過程可能花費時間比較長
安裝成功如下:
注意如果報告以下錯誤:
ERROR: Could not find a valid gem 'cocoapods' (>= 0), here is why:
Unable to download data from https://rubygems.org/ -
Errno::ETIMEDOUT: Operation timed out - connect(2) (https://rubygems.org/latest_specs.4.8.gz)
ERROR: Possible alternatives: cocoa pods
原因是gem太老,可以嘗試用如下命令升級gem
$ sudo gem update --system
升級成功後會提示: RubyGems system software updated
然後重新執行安裝下載命令
$ sudo gem install cocoapods
如果在執行sudo gem install cocoapods
的時候報以下錯誤:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/pod
嘗試使用以下方法來代替
上面的安裝命令:
$ sudo gem install -n /usr/local/bin cocoapods
4、使用search命令搜尋類庫名:
$pod search AFNetworking
如果CocoaPods支援,將會輸出搜尋到的所有類庫版本和資訊,以及在Podfile中配置的寫法,終端返回資訊如下:
-> AFNetworking (2.3.1)
A delightful iOS and OS X networking framework.
pod 'AFNetworking', '~> 2.3.1’(這個語句是需要在編輯Podfile的時候輸入的命令,即是如何安裝下載相關類庫的指令)
- Homepage: https://github.com/AFNetworking/AFNetworking
- Source: https://github.com/AFNetworking/AFNetworking.git
- Versions: 2.3.1, 2.3.0, 2.2.4, 2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0,
2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2, 2.0.0-RC1, 1.3.4, 1.3.3,
1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3, 1.0RC2, 1.0RC1,
0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]
- Sub specs: - AFNetworking/Serialization (2.3.1) -
AFNetworking/Security (2.3.1) - AFNetworking/Reachability (2.3.1) -
AFNetworking/NSURLConnection (2.3.1) - AFNetworking/NSURLSession (2.3.1)
- AFNetworking/UIKit (2.3.1)
-> AFNetworking+AutoRetry (0.0.5)
Auto Retries for AFNetworking requests
pod 'AFNetworking+AutoRetry', '~> 0.0.5'
- Homepage: https://github.com/shaioz/AFNetworking-AutoRetry
- Source: https://github.com/shaioz/AFNetworking-AutoRetry.git
- Versions: 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1 [master repo]
5、需要在工程中建立一個Podfile檔案,
使用命令:
$cd /Users/shiyunlei/Desktop/CocoapodsSample(進入工程目錄,cd後面的是工程的路徑)
$ touch Podfile(建立Podfile檔案)
然後使用vim編輯Podfile檔案,使用命令:
$ vim Podfile
進入如下介面
然後緊接著按鍵盤上的“i”鍵,變成如下狀態,這個時候可以對Podfile檔案進行編輯:
$platform:ios, '7.0'
$ pod 'AFNetworking', '~> 2.3.1'
在編輯完成後按“esc”,
在按“:”,這個時候輸入wq,點選回車,儲存並退出。
這個時候開啟Podfile檔案就會看到裡面添加了剛才在終端輸入的一行語句,如下圖
然後在終端輸入命令安裝相應的第三方類庫
$pod install
因為這個過程需要下載相應的類庫,所以時間和網速有關。
安裝成功之後截圖如下:
這個時候會看到之後開啟工程都需要從型別為工程名.xcworkspace檔案開啟。
小技巧:
執行pod setup會輸出Setting up CocoaPods master repo,之後就不動了,其實不是沒動,是動的很慢。你可以執行:cd ~,執行:ls -a ,執行:cd .cocoapods,執行檢視.cocoapods檔案的大小命令:du -sh *,會輸出:
261M repos,每隔幾分鐘後檢視會發現大小在發生變化,但是非常非常慢。