什么是CocoaPods?
CocoaPods是一個用Ruby寫的、負責管理iOS項目中第三方開源庫的工具,通過CocoaPods,我們可以更方便地管理每個第三方庫的版本,而且不需要我們做太多的配置。直觀、集中和自動化地管理我們項目的第三方庫。
一、安裝RVM
打開終端:>_
1、查看當前Ruby版本
ruby -v
2、升級Ruby環境
首先需要安裝rvm(第一步要下載一些東西等兩分鐘左右)
curl -L get.rvm.io | bash -s stable
source ~/.bashrc
source ~/.bash_profile
3、查看rvm版本
rvm -v
顯示如下
rvm1.29.3(latest)byMichalPapis,PiotrKuczynski,WayneE.Seguin[https://rvm.io]
4、更新RVM
rvm get stable
5、查看可下載的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[.7]
[ruby-]2.3[.4]
[ruby-]2.4[.1]// 重點在這里 重點在這里 重點在這里ruby-head.....
6、安裝一個ruby版本(這里我選擇的是2.4.1版本,當然你也可以選擇其他的)
rvm install 2.4.1
// 注意:安裝過程中需要兩次按下 Enter 鍵, 第二次按下后需要輸入電腦訪問密碼(不可見,只管輸入就行);
// 如果你電腦沒有安裝Xcode和Command Line Tools for Xcode以及Homebrew 會自動下載安裝,建議提前安裝這三者.
安裝如果遇到如下錯誤:
安裝Command Line Tools即可
xcode-select --install
7、查看已安裝ruby的版本
rvm list
輸出結果顯示如下
rvm rubies
=* ruby-2.4.1 [ x86_64 ]
# => - current
# =* - current && default
# * - default
8、查看當前使用ruby的版本
rvm current
9、設置為ruby默認版本
rvm use 2.4.1 --default
10、刪除安裝過的ruby版本
rvm remove 2.2.2
如果提示權限不足,同理加上sudo
sudo rvm remove 2.2.2
二、升級RubyGems
1、更新gem
sudo gem update --system
如果是最新的,則輸出
Latest version already installed. Done.
如果沒有權限報錯,在命令前加上sudo
sudo gem update --system
2、更換源
由于國內被墻,我們需要來修改更換源,把源切換至ruby-china;網上大多數是使用的https://ruby.taobao.org的,這里不再建議使用的了,這是因為taobao Gems 源已停止維護,現由 ruby-china 提供鏡像服務
gem sources --remove https://rubygems.org/
gem sources -a https://gems.ruby-china.org/
3、查看當前系統的Ruby源
為了驗證你的Ruby鏡像是并且僅是ruby-china,執行以下命令查看
gem sources -l
如果是以下結果說明正確,如果有其他的請自行百度解決
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
如果不是顯示這個或者沒有源,則是失敗的,從新輸入 gem sources -a https://gems.ruby-china.org/ ,如果一直失敗的話可能是你的網絡問題。
三、安裝CocoaPods
1、安裝CocoaPods
sudo gem install -n /usr/local/bin cocoapods
2、如果安裝了多個Xcode使用下面的命令選擇(一般需要選擇最近的Xcode版本,只安裝一個的可以省略這一步)
sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
3、安裝本地庫
pod setup
執行以上命令后
Setting up CocoaPods master repo
$ /usr/bin/gitclonehttps://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/
然后就是漫長的等待,當然,網絡好的情況下會更快
執行上面的命令過后,會出現卡主不動,這個是時候是在下載,通常會等很久。如果要查看文件下載進度的可以另外打開一個終端窗口(快捷鍵:選中終端按下Command+N組合鍵),輸入以下兩行命令回車執行
cd ~/.cocoapods //cd到cocapod目錄下
du -sh * // 查看大小
執行du -sh *之后會顯示已下載的文件大小,可以多次執行來監看下載進度,如果之前還有文件大小,后來變成0了,可能是網絡問題,下載已經中斷了,需要結束命令并從新執行 pod setup或者檢查一下以下問題
ping github.com //檢查github連接是否通過
pob repo list //查看cocoapods文件信息
如果pod setup還是一直沒反應失敗可以用下面的方法解決可以繼續往下看
到此可以通過pod repo查看master信息了
pod repo
通過以下命令可以執行pods操作
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
pod setup失敗解決方法
(1)訪問 https://github.com/CocoaPods/Specs,然后將Specs項目fork到自己的github賬戶上
(2)下載GitHub Desktop, 然后clone Specs項目,當然也可以直接使用git clone但是貌似沒有客戶端下載快,podspec索引文件比較大,有80M左右。
(3)將clone的Specs項目的文件夾改名為master,然后拖到/Users/用戶名/.cocoapods/repos目錄下。
(4)運行pod setup
5、查看cocapod版本
pod --version
四、CocoaPods使用
1、下載安裝完成之后可執行下列命令檢查是否可用(第一次使用可能要等一會)
pod search MJExtension
2、CocoaPods的具體使用
新建一個Xcode工程,使用終端cd到工程目錄下
在項目的根目錄下創建一個Podfile文件:
vim Podfile
進入之后按i進入編輯模式,在文件Podfile中添加想要的第三方開源庫文件,比如 MJExtension :
platform :ios, '8.0' // 支持的最低版本
#use_frameworks!個別需要用到它,比如reactiveCocoa
target 'testDemo' do // testDemo是你的項目名
pod 'MJExtension' // 不指定版本下載的就是最新版的
end
保存后按Esc后,然后輸入:wq回車保存。
執行安裝:
pod install
//或
pod install --no-repo-update //禁止更新repo,這樣就避免執行了git fetch,從而加快速度
一般到這里就結束了,如果出錯的話可能是你Podfile的代碼寫的不規范,看一下我的示例或者自行百度一下。
3、增加第三方
如果使用過程中我還想添加其他的第三方怎么辦,只要在Podfile里面接著添加,然后終端再執行 pod install 就可以了。
4、更新CocoaPods中的第三方們
第三方庫們都有人在維護升級,我們需要隔斷時間就要更新下我們工程中第三方庫的版本。
//更新所有可更新的三方庫
pod update
更新指定庫
pod update Masonry
如果遇到 pod install 或者 pod update 慢的問題,原因在于當執行以上兩個命令的時候會升級CocoaPods的spec倉庫,加一個參數可以省略這一步,然后速度就會提升不少。加參數的命令如下:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
--verbose 的作用就是打印出執行過程中詳細的信息。
--no-repo-update 的作用就是禁止更新repo,這樣就避免執行了git fetch,從而加快速度。
但是如果repo本身就很老(第三方庫版本比較低)的時候,仍然是需要更新repo的。
8、刪除CocoaPods中的某些第三方們
當我們需要去掉某個第三方庫時,只需要在Podfile刪除該引入該庫的語句,然后執行pod update或者pod install就可以了。
9、升級CocoaPods
升級CocoaPods版本的命令和安裝CocoaPods的命令一樣,都是
sudo gem install cocoapods。
如果老版本升級cocoapods的時候提示Operation not permitted - /usr/bin/xcodeproj,改用命令
sudo gem install -n /usr/local/bin cocoapods --pre
就可以了。
10、卸載CocoaPods
卸載CocoaPods的命令是
sudo gem uninstall cocoapods
執行完命令后,最下面打印Successfully uninstalled cocoapods字樣就代表已經成功卸載了。
11、將CocoaPods從項目中刪除
如果你在以后的使用過程中不想用CocoaPods了怎么辦?很簡單,把多出來的東西們都刪掉就可以了,不過為了項目正常運行,你需要手動導入已經使用的第三方們哦。
四、CocoaPods Mac App的安裝和使用
CocoaPods桌面應用版下載地址:https://cocoapods.org/app
1、是否安裝命令行工具
打開應用會提示你是否安裝命令行工具,選擇install就也可以在命令行使用Pod了。省去了上面的步驟們,方便快捷的使用CocoaPods。
2、現在假如要給一個Test項目加入第三方庫
(1)選擇項目
選擇File-New Podfile from Xcode Project,去選擇項目的Project文件。
(2)Podfile
填寫自動生成的Podfile,并且安裝。
然后就可以去打開工程了,是不是比命令行簡單多了。
注意:Cocoapods.app 刪掉并執行命令可能會報錯:
Unable to locate the CocoaPods.app application bundle. Please ensure the application is available and launch it at least once
這時候只要執行以下命令就可以了。
sudo gem install -n /usr/local/bin cocoapods
3、XCode的CocoaPods插件
CocoaPods-xcode-plugin是一個XCode的插件,可以很方便的在Xcode通過pods安裝各種第三方庫。前提是終端已經安裝好CocoaPods,使用方法大概如下:
到此 Success !
轉載參考:
CocoaPods官方使用指南
Kevinxyg:cocaPod安裝方法
ios_curry:2017最新cocoaPods安裝教程
烏鴉白:CocoaPods下載及安裝