CocoaPods是 iOS 最常用的第三方類庫(kù)管理工具匀哄,絕大部分有名的開源類庫(kù)都支持CocoaPods孩等。
CocoaPods
是用ruby
實(shí)現(xiàn)的香到,要想使用它首先需要有ruby
的環(huán)境。幸運(yùn)的是OS X系統(tǒng)默認(rèn)已經(jīng)可以運(yùn)行ruby
了挂滓。但是有時(shí)候ruby版本過低是無法正常支持CocoaPods的使用,所以需要先安裝更新升級(jí)rvm和ruby膀懈。
CocoaPods的安裝
- 檢查安裝 rvm 環(huán)境
-
$rvm -v
如果存在著顯示對(duì)應(yīng)的版本
如果不存在,則顯示
不存在則安裝rvm
-
$curl -L https://get.rvm.io | bash -s stable
如果安裝成功這顯示下面
- 載入Rvm
$source ~/.rvm/scripts/rvm
- 再次檢查 rvm 是否安裝正確
$rvm -v
- 安裝好Rvm,然后利用Rvm安裝ruby環(huán)境
當(dāng)ruby版本低于2.2.2時(shí)翔始,安裝CocoaPods會(huì)報(bào)錯(cuò);為防止ruby版本過低撑螺,建議先升級(jí)ruby環(huán)境含思,建議升級(jí)到2.3.0版本以上
- 查看ruby版本列表
$ rvm list known
- 查看當(dāng)前ruby版本
$ rvm -v
- 如果當(dāng)前ruby版本過低, 可以更新到指定版本
$ rvm install 2.3.0
- 查詢已安裝的 ruby
$ rvm list
- 卸載一個(gè)已安裝版本
$ rvm remove 1.9.2
-
檢查更新 ruby 版本環(huán)境
CocoaPods是用gem ruby
實(shí)現(xiàn)的,要想使用它首先需要有g(shù)em ruby的環(huán)境甘晤。且 MAC 的 OS X系統(tǒng)默認(rèn)已經(jīng)可以運(yùn)行rubyTip:
建議gem ruby包環(huán)境升級(jí)到2.6.x以上含潘。
- 查看
gem ruby
版本號(hào)
$sudo gem -v
- 查看
- 如果版本較低(默認(rèn)),建議更新版本
```
$gem update --system
```
Ruby的軟件源使用的是亞馬遜的云服務(wù),國(guó)內(nèi)網(wǎng)絡(luò)環(huán)境下載時(shí)可能會(huì)出現(xiàn)各種不穩(wěn)定和超時(shí),可以將官方 ruby 源替換成國(guó)內(nèi)由China ruby 源
- 查看ruby源
$ gem sources -l
- 移除ruby 源
gem sources --remove https://rubygems.org/
- 替換源
$ gem sources --add https://gems.ruby-china.org
-
安裝coocoapods
- OS X10.11之前系統(tǒng)的安裝 CocoaPods 指令
$ sudo gem install cocoapods
- OS X10.11之后系統(tǒng)的安裝 CocoaPods 指令
$ sudo gem install -n /usr/local/bin cocoa pods
pod setup
執(zhí)行pod setup時(shí)线婚,CocoaPods 會(huì)將第三方的podspec索引文件更新到本地的~/.cocoapods/repos目錄下
這里下載時(shí)間比較長(zhǎng),通常會(huì)失敗,通常解決方法:
如果執(zhí)行 pod setup遏弱,并且命令沒有執(zhí)行成功,那么會(huì)創(chuàng)建~/.cocoapods/repos
目錄塞弊,只不過目錄是空的漱逸。
直接到~/.cocoapods/repos目錄下執(zhí)行 git clone https://github.com/CocoaPods/Specs.git 到改目錄下,并修改Specs文 件夾名為master
- 執(zhí)行pod setup
通常這樣,cocoapods就安裝成功了!!!
CocoaPods的安裝
1.創(chuàng)建一個(gè)項(xiàng)目,名字為testcocoapodsdemo
2.加入我們想通過cocoapods安裝AFNetworking框架.
2.1.在項(xiàng)目文件下創(chuàng)建一個(gè)名為podfile的文件
2.2.執(zhí)行pod search AFNetworking
2.3.編輯podfile 文件,最簡(jiǎn)單的方式
platform :ios, '7.0'
target 'testcocoapodsdemo' do
pod 'AFNetworking', '~> 3.1.0'
end
2.4 執(zhí)行命令 pod install
CocoaPods 在執(zhí)行pod install和pod update時(shí),會(huì)默認(rèn)先更新一次podspec索引游沿。使用--no-repo-update
參數(shù)可以禁止其做索引更新操作,通常我們是會(huì)用一下命令
$pod install --no-repo-update
$pod update --no-repo-update
執(zhí)行 pod install --no-repo-update
如果profile書寫有誤,會(huì)報(bào)錯(cuò)
如果沒有問題,這顯示如下信息,接下來就是等待安裝
安裝成功:
這時(shí)候打開我們項(xiàng)目目錄:
Pofile
Podfile是cocoapods安裝第三方庫(kù)的依賴文件饰抒,其中定義cocoapod需要集成的第三庫(kù)已經(jīng)對(duì)應(yīng)的系統(tǒng)要求等信息。
podfile寫法
platform :ios, '7.0'
依賴庫(kù)寫法
pod 'AFNetworking', '~> 3.1.0' //高于3.1.0的版本诀黍,表示使用最新版本
pod 'AFNetworking' //不指定依賴庫(kù)版本袋坑,每次都獲取最新版本
pod 'AFNetworking', '3.1.0' //只使用3.1.0的版本
pod 'AFNetworking', '>3.1.0' //使用高于3.1.0的版本
pod 'AFNetworking', '>=3.1.0' //使用大于等于
use_frameworks!
a. 使用frameworks動(dòng)態(tài)庫(kù)替換靜態(tài)庫(kù)鏈接
b. swift項(xiàng)目cocoapods默認(rèn)是 use_frameworks
c. OC項(xiàng)目cocoapods默認(rèn)是 #use_frameworks <#是注釋的意思>
Pofile.lock
- Podfile.lock會(huì)鎖定當(dāng)前各依賴庫(kù)的版本,之后如果多次執(zhí)行pod install不會(huì)更改版本,要pod update才會(huì)改Podfile.lock了。這樣多人協(xié)作的時(shí)候眯勾,可以防止第三方庫(kù)升級(jí)時(shí)造成大家各自的第三方庫(kù)版本不一致
注意:
1.podfile.lock 應(yīng)該加入到版本控制里面枣宫,不應(yīng)該把這個(gè)文件加入到.gitignore中