本文主要參考的是這個(gè)鏈接:http://www.mamicode.com/info-detail-1574918.html
安裝步驟如下:
安裝cocoaPods首先要更新ruby,而更新ruby則需要先安裝RVM,所以:(所有的操作都在命令行下完成,本文是基于10.12的系統(tǒng)安裝的.僅作參考)
1>安裝RVM
curl ‐L get.rvm.io | bash ‐s stable
2>等待RVM安裝完成,執(zhí)行下面兩句命令
source ~/.bashrc
source ~/.bash_profile
3>測(cè)試是否安安裝正常
rvm ‐v
4>用RVM升級(jí)Ruby
1.查看當(dāng)前ruby版本
ruby ‐v
2.查看已知的ruby版本
rvm list known
3.安裝最新版本的ruby(本文是2.3.0)
rvm install 2.3.0
5>cocoapods的安裝和使用
1.先升級(jí)Gem(可以省略)
sudo gem update --system
2.切換cocoapods的數(shù)據(jù)源
終端輸入如下命令(把Ruby鏡像指向taobao,避免被墻,你懂得)
gem sources --remove https://rubygems.org/
gem sources -a https://ruby.taobao.org/
gem sources -l (用來(lái)檢查使用替換鏡像位置成功)
3.下載安裝CocoaPods
sudo gem install cocoapods
或者(如10.11系統(tǒng))sudo gem install -n /usr/local/bin cocoapods
4.設(shè)置pod倉(cāng)庫(kù)
pod setup
5.測(cè)試
【如果有版本號(hào),則說(shuō)明已經(jīng)安裝成功】
pod --version
6.利用cocoapods來(lái)安裝第三方框架
01 進(jìn)入要安裝框架的項(xiàng)目的.xcodeproj同級(jí)文件夾(cd ...)
02 在該文件夾中新建一個(gè)文件podfile(mkdir podfile)
03 在文件中告訴cocoapods需要安裝的框架信息
a.該框架支持的平臺(tái)
b.適用的iOS版本
c.框架的名稱(chēng)
d.框架的版本
7.安裝
pod update --no-repo-update
pod install --no-repo-update
8.說(shuō)明
platform :ios, '7.0' 用來(lái)設(shè)置所有第三方庫(kù)所支持的iOS最低版本
pod 'SDWebImage','~>3.7.5' 設(shè)置框架的名稱(chēng)和版本號(hào)
版本號(hào)的規(guī)則:
'>1.0' 可以安裝任何高于1.0的版本
'>=1.0' 可以安裝任何高于或等于1.0的版本
'<1.0' 任何低于1.0的版本
'<=1.0' 任何低于或等于1.0的版本
'~>0.1' 任何高于或等于0.1的版本,但是不包含高于1.0的版本
'~>0' 任何版本,相當(dāng)于不指定版本,默認(rèn)采用最新版本號(hào)
9.使用pod install命令安裝框架后的大致過(guò)程:
01 分析依賴(lài):該步驟會(huì)分析Podfile,查看不同類(lèi)庫(kù)之間的依賴(lài)情況。如果有多個(gè)類(lèi)庫(kù)依賴(lài)于同一個(gè)類(lèi)庫(kù),但是依賴(lài)于不同的版本,那么cocoaPods會(huì)自動(dòng)設(shè)置一個(gè)兼容的版本。
02 下載依賴(lài):根據(jù)分析依賴(lài)的結(jié)果,下載指定版本的類(lèi)庫(kù)到本地項(xiàng)目中。
03 生成Pods項(xiàng)目:創(chuàng)建一個(gè)Pods項(xiàng)目專(zhuān)門(mén)用來(lái)編譯和管理第三方框架,CocoaPods會(huì)將所需的框架,庫(kù)等內(nèi)容添加到項(xiàng)目中,并且進(jìn)行相應(yīng)的配置。
04 整合Pods項(xiàng)目:將Pods和項(xiàng)目整合到一個(gè)工作空間中,并且設(shè)置文件鏈接。
卸載:sudo gem uninstall cocoapods
查找第三方庫(kù): pod search AFNetworking
CocoaPods
Podfile.lock文件
保存最后一次更新Pods時(shí), 所有第三方框架的版本號(hào)
常用指令的區(qū)別
pod install
會(huì)根據(jù)Podfile.lock文件中列舉的版本號(hào)來(lái)安裝第三方框架
如果一開(kāi)始Podfile.lock文件不存在, 就會(huì)按照Podfile文件列舉的版本號(hào)來(lái)安裝第三方框架
安裝框架之前, 默認(rèn)會(huì)執(zhí)行pod repo update指令
pod update
將所有第三方框架更新到最新版本, 并且創(chuàng)建一個(gè)新的Podfile.lock文件
安裝框架之前, 默認(rèn)會(huì)執(zhí)行pod repo update指令
pod install --no-repo-update
pod update --no-repo-update
安裝框架之前, 不會(huì)執(zhí)行pod repo update指令
CocoaPods specs的鏡像索引
在使用cocoapods進(jìn)行update或者install的時(shí)候,會(huì)去更新獲取pod specs。 所有的項(xiàng)目的podspec文件都托管在https://github.com/CocoaPods/Specs上。
第一次執(zhí)行pod setup時(shí),cocoapods會(huì)將這些podspec索引文件更新到本地的 ~/。cocoapods/目錄下,
這個(gè)索引文件比較大,國(guó)內(nèi)網(wǎng)絡(luò)的問(wèn)題,更新非常慢。
網(wǎng)上一個(gè)博主http://akinliu.github.io/2014/05/03/cocoapods-specs-/ ,對(duì)github上的specs倉(cāng)庫(kù)進(jìn)行了鏡像,是每10分鐘進(jìn)行同步一次,基本和主倉(cāng)庫(kù)保持一致。
gitcafe和oschina都是國(guó)內(nèi)服務(wù)器,在執(zhí)行索引更新操作時(shí),快很多。
使用方法: pod repo remove master pod repo add master https://gitcafe.com/akuandev/Specs.git pod repo update
如果想用oschina的鏡像,可以把第二條命令的地址換成oschina的即可。 pod repo add master http://git.oschina.net/akuandev/Specs.git
如果在pod install、或者pod update時(shí),不想升級(jí)specs庫(kù),可以增加忽略參數(shù) pod install --no-repo-update pod update --no-repo-update
Podfile.lock
當(dāng)你執(zhí)行pod install之后,除了 Podfile 外,CocoaPods 還會(huì)生成一個(gè)名為Podfile.lock的文件,Podfile.lock 應(yīng)該加入到版本控制里面,不應(yīng)該把這個(gè)文件加入到.gitignore中。因?yàn)镻odfile.lock會(huì)鎖定當(dāng)前各依賴(lài)庫(kù)的版本,之后如果多次執(zhí)行pod install 不會(huì)更改版本,要pod update才會(huì)改Podfile.lock了。這樣多人協(xié)作的時(shí)候,可以防止第三方庫(kù)升級(jí)時(shí)造成大家各自的第三方庫(kù)版本不一致。
pod install & pod update區(qū)別: 例如:Podfile中,pod ‘SVProgressHUD’,而未指定此開(kāi)源庫(kù)版本。pod install,如果SVProgressHUD已存在Pods中,則直接使用它。但是,pod update,會(huì)重新下載最新版本到Pods中。