在我們項(xiàng)目開發(fā)的過程中菊卷,時不時的會用到第三方庫缔恳,并且在一個項(xiàng)目中會用到多個第三方庫,于是我們可以使用CocoaPods來安裝和管理第三方庫洁闰,這使我們在整個開發(fā)環(huán)境中對第三方庫的版本管理非常方便歉甚。 CocoaPods 的原理是將所有的第三方庫都放到另一個名為 Pods 項(xiàng)目中,并且讓主項(xiàng)目依賴 Pods 項(xiàng)目扑眉,于是纸泄,源碼管理工作都從主項(xiàng)目移到了 Pods 項(xiàng)目中。本文中我將介紹如何安裝和使用CocoaPods襟雷。
CocoaPods 安裝
1.升級Ruby環(huán)境
$ sudo gem update --system
環(huán)境升級的過程比較慢刃滓,靜心等待吧(不要吐槽我的網(wǎng)速渣)!
2.使用淘寶的RubyGems鏡像來代替官方版本
$ gem sources --remove https://rubygems.org/
//等到移除后再敲入以下命令
$ gem sources -a https://ruby.taobao.org/
驗(yàn)證Ruby鏡像只有taobao耸弄,使用命令:
$ gem sources -l
出現(xiàn)以下信息說明安裝成功咧虎,具體可以查看官方文檔https://ruby.taobao.org:
3.安裝CocoaPods
- 系統(tǒng)在10.11以下:
$ sudo gem install cocoapods
- 系統(tǒng)在10.11以后
$ sudo gem install -n /usr/local/bin cocoapods
//執(zhí)行完后
$ sudo xcode-select --switch /Applications/Xcode.app
在安裝時,可能會出現(xiàn)錯誤计呈,提示需要2.2.2以上版本Ruby砰诵,我在安裝時就碰到這個錯誤征唬,若遇到同樣問題,請參考MAC OS Ruby升級茁彭。
輸入以下完成安裝:
$ pod setup
注意:
在執(zhí)行pod setup
的時候會輸出Setting up CocoaPods master repo
总寒,文件比較大,下載慢理肺,等待的時間會非常久摄闸,還可能會出現(xiàn)錯誤:
執(zhí)行
pod setup
其實(shí)是CocoaPods會將pod spec索引文件信息更新到~/.cocoapods目錄下,可以通過du -sh *
查看下載進(jìn)度妹萨。有一位大神在國內(nèi)的gitcafe年枕、oschina上建立了CocoaPods的索引庫鏡像,因此可以使用國內(nèi)的鏡像乎完,這樣會快很多熏兄,執(zhí)行步驟如下:
$ pod repo remove master
$ pod repo add master https://gitcafe.com/akuandev/Specs.git
$ pod repo update
將https://gitcafe.com/akuandev/Specs.git
替換成http://git.oschina.net/akuandev/Specs.git
就是oschina上的索引庫鏡像。
以下界面說明setup成功:
CocoaPods 使用
1.使用search搜索類庫名
$ pod search AFNetworking
效果如下:
2.新建項(xiàng)目CocoaPodsSample树姨,切換到項(xiàng)目根目錄摩桶,并建立Podfile文件
$ cd "your project home"
$ touch Podfile
效果如下:
3.使用vim編輯并保存pod file
$ vim Podfile
輸入以下內(nèi)容:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target 'CocoaPodsSample' do
pod 'AFNetworking', '~> 3.1'
end
4.下載安裝AFNetworking
$ pod install
安裝成功后:
5.雙擊
CocoaPodsSample.xcworkspace
打開工程,會發(fā)現(xiàn)AFNetworking已經(jīng)安裝好了帽揪,在ViewController中引入#import "AFNetworking"
硝清,再編譯,不出錯的話就可以使用啦台丛。注意:在執(zhí)行
pod install
之后會生成Podfile.lock
文件耍缴,在官方文檔中提到Podfile.lock
應(yīng)該放到按本控制中,因?yàn)?code>Podfile.lock會鎖定當(dāng)前各依賴庫的版本挽霉,之后如果多次執(zhí)行pod install
不會更改版本防嗡,pod update
才會改Podfile.lock了。于是在多人協(xié)作的時候侠坎,能防止第三方庫升級時造成大家各自的第三方庫版本不一致
蚁趁,詳情請查看官方文檔。