java中的包管理有Maven来候,Android中有Gradle姥闪,而iOS常用的包管理工具則有Cocopods蛔溃,如果不使用包管理匾竿,則需要手動將庫文件手動拷貝瓦宜,并不好管理包依賴和版本升級。本篇來總結(jié)一下Cocopods的安裝和使用岭妖。
Ruby安裝
Cocopods是使用Ruby語言編寫的临庇,所以要使用Cocopods,需要先安裝Ruby環(huán)境昵慌。
檢查Ruby是否安裝
- 終端中假夺,查看Ruby版本,如果已安裝斋攀,則可以跳過
ruby -v
- 輸出以下信息則是安裝了
ruby 2.3.7p456 (2018-03-28 revision 63024) [universal.x86_64-darwin18]
- 如果是輸出command not found已卷,則為未安裝。
-bash: ruby -v:command not found
安裝Ruby包管理rvm
rvm(ruby version manager)蜻韭,先安裝這個rvm包管理悼尾,使用rvm包管理去安裝Ruby柿扣。
檢查rvm是否安裝
rvm -v
- 輸出以下信息則是安裝了
rvm 1.29.9 (latest) by Michal Papis, Piotr Kuczynski, Wayne E. Seguin [https://rvm.io]
- 如果是輸出command not found,則為未安裝闺魏。
-bash: rvm -v:command not found
安裝rvm
- 終端輸入以下命令未状,等待幾分鐘即可。
curl -L https://get.rvm.io | bash -s stable
- 更新環(huán)境變量析桥,回車后司草,什么都不輸出則為正常
source ~/.rvm/scripts/rvm
查找Ruby可用版本
- 終端輸入:rvm list known查找Ruby的可用版本
rvm list known
- 輸出以下信息
# MRI Rubies
[ruby-]1.8.6[-p420]
[ruby-]1.8.7[-head] # security released on head
[ruby-]1.9.1[-p431]
[ruby-]1.9.2[-p330]
[ruby-]1.9.3[-p551]
[ruby-]2.0.0[-p648]
[ruby-]2.1[.10]
[ruby-]2.2[.10]
[ruby-]2.3[.8]
[ruby-]2.4[.6]
[ruby-]2.5[.5]
[ruby-]2.6[.3] //最新正式版
[ruby-]2.7[.0-preview1] //測試版,一般不安裝該版本
ruby-head
- 安裝Ruby泡仗,我這里安裝最新的2.6.3埋虹,你也可以選擇別的版本安裝
rvm install 2.6.3
- 設置剛才安裝2.6.3版本為默認選用
rvm use 2.6.3 --default
- 再次檢查Ruby版本,能輸出版本信息即可
ruby -v
正式安裝Cocopods
- 安裝好Ruby后娩怎,開始正式安裝我們的Cocopods搔课,終端輸入以下命令
sudo gem install -n /usr/local/bin cocoapods
- 如果安裝了多個版本的Xcode,需要再加以下命令選擇版本
sudo xcode-select --switch /Applications/Xcode.app
- 安裝本地庫
pod setup
查看當前源
gem source -l
移除淘寶源
gem sources --remove https://ruby.taobao.org/
更換新源
gem source -a https://gems.ruby-china.org
- 安靜截亦,等待安裝完畢即可
Setting up CocoaPods master repo
$ /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress
Cloning into 'master'...
remote: Counting objects: 1879515, done.
remote: Compressing objects: 100% (321/321), done.
Receiving objects: 21% (404525/1879515), 73.70 MiB | 22.00 KiB/
- 接下來爬泥,我們來搜索一下AFNetworking,能搜索到則證明沒問題啦
pod search AFNetworking
-> AFNetworking (3.2.1)
A delightful iOS and OS X networking framework.
pod 'AFNetworking', '~> 3.2.1'
- Homepage: https://github.com/AFNetworking/AFNetworking
- Source: https://github.com/AFNetworking/AFNetworking.git
- Versions: 3.2.1, 3.2.0, 3.1.0, 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0,
3.0.0-beta.3, 3.0.0-beta.2, 3.0.0-beta.1, 2.6.3, 2.6.2, 2.6.1, 2.6.0, 2.5.4,
2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.1, 2.4.0, 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]
- Subspecs:
- AFNetworking/Serialization (3.2.1)
- AFNetworking/Security (3.2.1)
- AFNetworking/Reachability (3.2.1)
- AFNetworking/NSURLSession (3.2.1)
- AFNetworking/UIKit (3.2.1)
Cocopods基本使用
- 新建一個Xcode功能崩瓤,cd命令到項目根目錄下袍啡,創(chuàng)建Podfile文件
pod init
- 根目錄下會見到生成了一個Podfile文件,我們打開這個文件却桶,在文件中添加:(其中targetName為你的項目名境输,需要你手動更改一下!)
platform :ios, '8.0'
target "targetName" do
pod 'AFNetworking'
end
- 安裝依賴
pod install
- 等待安裝完成即可
Analyzing dependencies
Downloading dependencies
Using AFNetworking (3.2.1)
Generating Pods project
Integrating client project
Sending stats
Pod installation complete! There are 1 dependencies from the Podfile and 1 total pods installed.
- 新增的.xcworkspace工程文件
現(xiàn)在我們回到項目目錄颖系,會發(fā)現(xiàn)多了一個.xcworkspace的工程文件嗅剖,后續(xù)我們打開工程是打開這個. xcworkspace文件,而不是之前的.xcodeproj文件嘁扼,要記住了窗悯!
- 判斷是否安裝成功
我們導入AFNetworking頭文件,編譯成功即為安裝成功偷拔!
#import "AFNetworking.h"
- 顯示指定依賴版本
上面我們是直接指定了pod ‘AFNetworking’,它的意思是每次都獲取最新版本亏钩,如果需要指定目標版本莲绰,使用一下語法即可。
pod ‘AFNetworking’ //不顯式指定依賴庫版本姑丑,表示每次都獲取最新版本
pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本
pod ‘AFNetworking’, ‘>2.0′ //使用高于2.0的版本
pod ‘AFNetworking’, ‘>=2.0′ //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘<2.0′ //使用小于2.0的版本
pod ‘AFNetworking’, ‘<=2.0′ //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~>0.1.2′ //使用大于等于0.1.2但小于0.2的版本蛤签,相當于>=0.1.2并且<0.2.0
pod ‘AFNetworking’, ‘~>0.1′ //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0′ //高于0的版本,寫這個限制和什么都不寫是一個效果栅哀,都表示使用最新版本
依賴庫升級
- 后續(xù)如果依賴庫升級版本震肮,我們使用以下命令即可
pod update
總結(jié)
- Cocopods安裝還算簡單称龙,可能由于不可抗力原因?qū)е掳惭b較慢,耐心等待即可戳晌。
- 通過Cocopods鲫尊,我們可以在github上找到常用的第三方依賴庫,例如Masonry沦偎、SDWebImage疫向、MJRefresh等,又可以愉快的玩耍啦豪嚎!