CocoaPods安裝
CocoaPods可以通過(guò)Mac自帶RubyGems安裝
- 如gem太老,更新升級(jí)gem命令
$ sudo gem update --system
升級(jí)成功后提示: RubyGems system software updated
- 安裝CocoaPods命令
$ sudo gem install cocoapods
系統(tǒng)OS X EL Capitan以上安裝:
$ sudo gem install -n /usr/local/bin cocoapods
如報(bào)錯(cuò):ruby的軟件源ruby gems.org使用亞馬遜云服務(wù),屏蔽。更換ruby源。
- 查看源
$ gem sources -l
- 移除源
$ gem sources --remove https://rubygems.org
- 添加源
$ gem sources -a https://ruby.taobao.org
重新執(zhí)行安裝CocoaPods命令
- 安裝CocoaPods
$ pod setup
終端會(huì)停在Setting up CocoaPods master repo一段時(shí)間。
Cocoapods將所有項(xiàng)目的Podspec索引文件更新下載到本地的~/.cocoapods/目錄下,可以cd到這個(gè)目錄,用du -sh來(lái)看下載進(jìn)度。
- 如想加速,可使用CocoaPods的鏡像索引
$ pod repo remove master
$ pod repo add master 鏡像地址
$ pod repo update
安裝成功提示Setup completed。
如果提示ruby版本需大于等于2.2.2
- 查看ruby版本
$ ruby -v
- 安裝rvm(RVM 是一個(gè)命令行工具,可以提供一個(gè)便捷的多版本 Ruby 環(huán)境的管理和切換)
$ \curl -sSL https://get.rvm.io | bash -s stable
$ source ~/.bashrc
$ source ~/.bash_profile
- 安裝成功后,列出已知的 Ruby 版本
$ rvm list known
- 安裝ruby 2.3.0
$ rvm install 2.3.0
檢查ruby版本顯示:
ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin16]
重新執(zhí)行安裝CocoaPods命令
CocoaPods使用
1. 創(chuàng)建需要使用CocoaPods管理框架的工程.
- 進(jìn)入工程目錄
cd /Users/XXX/Desktop/CocoaPodsText
- 在工程目錄下創(chuàng)建Podfile文件
pod init
2. 編輯Podfile文件.
- 執(zhí)行打開(kāi)Podfile文件.其中#部分為注釋部分.
open -a Xcode Podfile
- 在 target '
工程文件名' do 與 end 之間輸入你想寫(xiě)入的框架, 以AFNetworking為例:
target 'CocoaPodsText' do
pod 'AFNetworking'
end
也可執(zhí)行
touch Podfile新建一個(gè)名為Podfile(名字不能寫(xiě)錯(cuò)) 的文件,直接新建空的文檔.然后對(duì)文檔進(jìn)行編輯,執(zhí)行
open -e Podfile打開(kāi)空白文檔.# Podfile文檔格式: platform :iOS, '9.0' target "當(dāng)前工程名" do pod '框架名', '~> 版本號(hào)' end
3. 執(zhí)行第三方庫(kù)的安裝操作
- 同樣在工程目錄下,執(zhí)行安裝命令:
pod install
等執(zhí)行完畢,所有Podfile中的第三方庫(kù)都下載完成并設(shè)置好了編譯參數(shù)和依賴(lài)。
pod install只會(huì)按照Podfile的要求請(qǐng)求類(lèi)庫(kù),如果版本號(hào)有變化,那么將會(huì)去失敗.
在pod install過(guò)程中會(huì)執(zhí)行podspec索引的更新,需要等待很久,因此為了提升速度可以執(zhí)行如下命令, 關(guān)掉索引的更新
pod install --no-repo-update
并且在安裝過(guò)程中,可以添加一個(gè)參數(shù),用來(lái)提示cococapods做了哪些操作
pod install --verbose --no-repo-update
- 其中還可以調(diào)用pod update方法, 也可以達(dá)到第三方庫(kù)安裝的目的, 并且會(huì)更新版本.
pod update會(huì)更新所有的類(lèi)庫(kù),獲取最新版本的類(lèi)庫(kù).
pod update
此方法也會(huì)執(zhí)行spec索引更新,需要等待很久.關(guān)掉索引更新
pod update --no-repo-update
每次更改了Podfile文件,都需要重新執(zhí)行一次
pod updadte命令
4. 安裝成功后打開(kāi).xcworkspace工程目錄
其中Pods工程目錄是用來(lái)存放第三方庫(kù)和配置文件的,上面的CocoaPods依舊是我們的工程文件, 在它之中,我們可以繼續(xù)正常的編寫(xiě)代碼。
為了驗(yàn)證是否安裝成功, 我們可以在AppDelegate.m中引入我們所要使用的第三方庫(kù)的頭文件,如引入#import <AFNetworking.h>
這里需要注意的是, 以后再引入第三方框架,要當(dāng)系統(tǒng)框架去引入用#import <框架頭文件.h>
5. Pod搜索功能
CocoaPods上的大部分第三方框架均來(lái)自于GitHub, 因此數(shù)量也很龐大,記名字是很不明智的,因此,我們可以選擇通過(guò)搜索來(lái)找到自己想要尋找的第三方框架。
- pod search 框架關(guān)鍵字
pod search fmdb
得到所有可用的庫(kù)。
把你想要的框架的名字, 復(fù)制到Podfile文件中即可,Podfile文件中的第三方可以有多個(gè),CocoaPods會(huì)全部幫你下載下來(lái)。
6. 以后添加,更新,刪除框架
- 安裝框架,不更新本地索引,不會(huì)升級(jí)本地代碼庫(kù)
$ pod install --no-repo-update
- 以后升級(jí),添加,刪除框架
$ pod update
- 更新框架,不更新本地索引,可以?安裝新框架或者刪除不用的框架
$ pod update --no-repo-update
- 查看哪些框架有更新版本
$ pod outdated
返回結(jié)果如下,此過(guò)程較慢.
Updating spec repo `master`
Analyzing dependencies
The following pod updates are available:
- SDWebImage 3.7.2 -> 3.7.6 (latest version 3.7.6)
注意
如果Podfile中未指定框架的版本,使用
pod install,框架已存在pod中,則直接使用它.但pod update會(huì)重新下載最新版本到pods中
CocoaPods升級(jí)
- 查看pod版本
$ pod --version
- pod升級(jí)
$ sudo gem install cocoapods --pre
CocoaPods卸載
- 移除pod組件,打開(kāi)終端執(zhí)行
$ which pod
然后輸出路徑,一般是 /usr/local/bin/pod
- 移除Cocoapods組件,繼續(xù)執(zhí)行
sudo rm -rf 路徑
$ sudo rm -rf /usr/local/bin/pod
- 移除 RubyGems 中的 Cocoapods程序包
RubyGems(簡(jiǎn)稱(chēng) gems)是一個(gè)用于對(duì) Ruby組件進(jìn)行打包的 Ruby 打包系統(tǒng)。 它提供一個(gè)分發(fā) Ruby 程序和庫(kù)的標(biāo)準(zhǔn)格式,還提供一個(gè)管理程序包安裝的工具。
查看gems中本地程序包
在終端輸入 gem list然后會(huì)打印gem下的所有包,看到了我們當(dāng)前cocoapods的版本號(hào)(1.0.0)
$ gem list
- 移除程序包 執(zhí)行命令
sudo gem uninstall cocoapods -v 版本號(hào)
$ sudo gem uninstall cocoapods -v 1.0.0
選擇,確認(rèn)輸入y
執(zhí)行完命令后,最下面打印Successfully uninstalled cocoa pods -1.0.0 表示已經(jīng)成功卸載了,可以輸入gem list在查看下.