CocoaPods的簡介
當(dāng)你開發(fā)iOS應(yīng)用時(shí),會(huì)經(jīng)常使用到很多第三方開源類庫,比如JSONKit,AFNetWorking等等。如果使 用他們,傳統(tǒng)的方法是,在git上把他們下載下來,然后去配置。這個(gè)工作很繁瑣,而且也容易出錯(cuò)。不 過有了Cocoapods你就會(huì)從這些繁瑣的工作中解脫出來。
CocoaPods的安裝及使用
第一步:安裝RVM
RVM: Ruby Version Manager.中文為Ruby版本管理器,包括Ruby的版本管理和Gem庫管理。
$ curl -L get.rvm.io | bash -s stable
//需要等一會(huì)
$ source ~/.bashrc
$ source ~/.bash_profile
等待終端加載完畢,后輸入
rvm -v
如圖所示:
如上圖所示,能顯示版本號(hào),即是安裝成功了。
如果受到防火墻的影響,出現(xiàn)kinglyimac@192 ~ % curl -L get.rvm.io | bash -s stable % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 194 100 194 0 0 289 0 --:--:-- --:--:-- --:--:-- 289 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 curl: (7) Failed to connect to raw.githubusercontent.com port 443: Connection refused
可以 在mac環(huán)境下安裝離線安裝rvm
第二步:升級(jí)Ruby的版本
CocoaPods目前安裝需要Ruby的版本大于2.2.2,不然會(huì)報(bào)錯(cuò):Error installing pods: activesupport requires Ruby version >= 2.2.2。目前Mac系統(tǒng)默認(rèn)自帶是2.0,所以需要升級(jí)。
- 查看當(dāng)前ruby版本
ruby -v
- 獲取rvm列表,列表里會(huì)顯示最新版Ruby版本
rvm list known
如下圖所示:
- 選擇安裝最新版Ruby
根據(jù)rvm列表里# MRI Rubies一欄里顯示的的Ruby版本號(hào),比如要安裝最新的2.4.1版本,命令如下:
rvm install 2.4.1
安裝的過程中,可能出現(xiàn)的問題,如下所示:
Error running ‘__rvm_make -j 1’,showing last 15 lines of /Users/GDarkness/.rvm/log/1474100434_ruby-2.4.1/make.log
安裝xcode command line 即可解決
命令如下:
xcode-select --install
此時(shí)會(huì)彈出一個(gè)軟件安裝信息 ,點(diǎn)擊安裝 ,安裝結(jié)束后,
繼續(xù)在終端輸入:
rvm install 2.4.1
安裝即可完成ruby的安裝
使用 ruby -v
命令,出現(xiàn)如下所示,
kinglydeMacBook-Pro:~ kingly$ ruby -v
ruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]
kinglydeMacBook-Pro:~ kingly$
安裝成功。
第三步:升級(jí)RubyGems版本和更改gem源
升級(jí)RubyGems版本
sudo gem update --system
使用 gem -v 查看一下gem版本,要2.6以上才可以
kinglydeMacBook-Pro:~ kingly$ gem -v
2.6.14
kinglydeMacBook-Pro:~ kingly$
更改gem源,先看一下當(dāng)前的gem源
gem sources -l
淘寶的gem源已經(jīng)不維護(hù)了,現(xiàn)在是官方論壇在維護(hù),地址https://gems.ruby-china.com/
添加最新gem源,使用命令
gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
kinglydeMacBook-Pro:~ kingly$ gem sources --add https://gems.ruby-china.com/ --remove https://rubygems.org/
source https://gems.ruby-china.org/ already present in the cache
source https://rubygems.org/ not present in cache
kinglydeMacBook-Pro:~ kingly$
使用 gem sources -l ,查看是否添加成功
kinglydeMacBook-Pro:~ kingly$ gem sources -l
*** CURRENT SOURCES ***
https://gems.ruby-china.com/
kinglydeMacBook-Pro:~ kingly$
確保最新的源只有一個(gè)。
有關(guān) 最新 RubyGems 鏡像- Ruby China ,請(qǐng)見 https://gems.ruby-china.com/
添加成功。
第四步:安裝CocoaPods
sudo gem install -n /usr/local/bin cocoapods --pre
初始化
pod setup
可能下載需要很久,根據(jù)網(wǎng)速的快慢而定,因?yàn)橄螺d鏡像索引大概有1個(gè)多G的大小,如果比較慢的話,建議使用VPN。
Setting up CocoaPods master repo
$ /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --progress
Cloning into 'master'...
remote: Counting objects: 1113358, done.
remote: Compressing objects: 100% (255/255), done.
remote: Total 1113358 (delta 87), reused 1 (delta 1), pack-reused 1113090
Receiving objects: 100% (1113358/1113358), 381.32 MiB | 349.00 KiB/s, done.
Resolving deltas: 100% (520388/520388), done.
Checking out files: 100% (140115/140115), done.
Setup completed
出現(xiàn)如上所示,恭喜你,CocoaPods已經(jīng)安裝并下載鏡像索引成功了。
我們還可以驗(yàn)證一下,是否安裝成功。
pod search 第三方 ,例如:執(zhí)行 $pod search KYBarrageKit
出現(xiàn)如下所示,即表明您安裝成功了,請(qǐng)愉快的玩Cocoapods了!
kinglydeMacBook-Pro:~ kingly$ pod search KYBarrageKit
-> KYBarrageKit (1.0.2)
KYBarrageKit this is a high availability, easy to use barrage Framework
Library.
pod 'KYBarrageKit', '~> 1.0.2'
- Homepage: https://github.com/kingly09/KYBarrageKit
- Source: https://github.com/kingly09/KYBarrageKit.git
- Versions: 1.0.2, 1.0.1, 0.0.9, 0.0.7, 0.0.6, 0.0.5, 0.0.4, 0.0.3, 0.0.2,
0.0.1 [master repo]
(END)
安裝OK啦!
注意:最新版的MacOS Catalina系統(tǒng)命令行執(zhí)行pod setup命令直接結(jié)束啦;
莫著急,我們手動(dòng)安裝本地庫,速度絕對(duì)快
如何使用CocoaPods?
好了,安裝好CocoPods之后,接下來就是使用它。所幸,使用CocoPods和安裝它一樣簡單,也是通過一兩行命令就可以搞定。
在這里用兩種使用場景來具體說明如何使用CocoaPods。
利用CocoaPods,在項(xiàng)目中導(dǎo)入YYKit類庫
為了確定YYKit是否支持CocoaPods,可以用CocoaPods的搜索功能驗(yàn)證一下。在終端中輸入:
pod search YYKit
出現(xiàn)如下:
-> YYKit (1.0.9)
A collection of iOS components.
pod 'YYKit', '~> 1.0.9'
- Homepage: https://github.com/ibireme/YYKit
- Source: https://github.com/ibireme/YYKit.git
- Versions: 1.0.9, 1.0.8, 1.0.7, 1.0.6, 1.0.5, 1.0.4, 1.0.3, 1.0.2, 1.0.1,
1.0, 0.9.12, 0.9.11, 0.9.10, 0.9.9, 0.9.8, 0.9.7, 0.9.6, 0.9.5, 0.9.4, 0.9.3,
0.9.2, 0.9.1, 0.9.0, 0.2.0 [master repo]
- Subspecs:
- YYKit/no-arc (1.0.9)
-> YYKit-fork (1.0.9.3)
這說明,YYKit是支持CocoaPods,所以我們可以利用CocoaPods將YYKit導(dǎo)入你的項(xiàng)目中。
生成一個(gè)Podfile文件,每個(gè)項(xiàng)目只需要一個(gè)Podfile文件。
在終端切換到項(xiàng)目目錄:
kinglydeMacBook-Pro:~ kingly$ cd /Users/kingly/Documents/項(xiàng)目/app/BCWebBrowser/WKWebViewOC
kinglydeMacBook-Pro:WKWebViewOC kingly$ ls
WKWebViewOC WKWebViewOCTests
WKWebViewOC.xcodeproj WKWebViewOCUITests
kinglydeMacBook-Pro:WKWebViewOC kingly$ ls -l
total 0
drwxr-xr-x@ 12 kingly staff 408 11 1 15:47 WKWebViewOC
drwxr-xr-x 5 kingly staff 170 11 2 09:20 WKWebViewOC.xcodeproj
drwxr-xr-x@ 4 kingly staff 136 4 11 2017 WKWebViewOCTests
drwxr-xr-x@ 4 kingly staff 136 10 31 09:27 WKWebViewOCUITests
kinglydeMacBook-Pro:WKWebViewOC kingly$
使用如下命令創(chuàng)建一個(gè)Podfile文件
pod init
如下創(chuàng)建成功
kinglydeMacBook-Pro:WKWebViewOC kingly$ pod init
kinglydeMacBook-Pro:WKWebViewOC kingly$ ls -l
total 8
-rw-r--r-- 1 kingly staff 438 11 2 13:04 Podfile
drwxr-xr-x@ 12 kingly staff 408 11 1 15:47 WKWebViewOC
drwxr-xr-x 5 kingly staff 170 11 2 09:20 WKWebViewOC.xcodeproj
drwxr-xr-x@ 4 kingly staff 136 4 11 2017 WKWebViewOCTests
drwxr-xr-x@ 4 kingly staff 136 10 31 09:27 WKWebViewOCUITests
kinglydeMacBook-Pro:WKWebViewOC kingly$
這時(shí)候,你會(huì)發(fā)現(xiàn)你的項(xiàng)目目錄中,出現(xiàn)一個(gè)名字為Podfile的文件,注意,Podfile文件應(yīng)該和你的工程文件.xcodeproj在同一個(gè)目錄下。
修改Podfile文件
vi Podfile
修改如下 :
# Uncomment the next line to define a global platform for your project
platform :ios, '8.0'
target 'WKWebViewOC' do
# Uncomment the next line if you're using Swift or would like to use dynamic frameworks
use_frameworks!
# Pods for WKWebViewOC
inhibit_all_warnings!
pod 'YYKit', '~> 1.0.9'
target 'WKWebViewOCTests' do
inherit! :search_paths
# Pods for testing
end
target 'WKWebViewOCUITests' do
inherit! :search_paths
# Pods for testing
end
end
然后保存退出。vim環(huán)境下,保存退出命令是:
:wq!
這時(shí)候,你就可以利用CocoPods下載YYKit類庫了。
下載 YYKit類庫
還是在終端中的當(dāng)前項(xiàng)目目錄下,運(yùn)行以下命令:
pod install
因?yàn)槭窃谀愕捻?xiàng)目中導(dǎo)入YYKit,這就是為什么這個(gè)命令需要你進(jìn)入你的項(xiàng)目所在目錄中運(yùn)行。
運(yùn)行上述命令之后,終端出現(xiàn)以下信息:
Integrating client project
[!] Please close any current Xcode sessions and use `WKWebViewOC.xcworkspace` for this project from now on.
Integrating target `Pods-WKWebViewOC` (`WKWebViewOC.xcodeproj` project)
Adding Build Phase '[CP] Embed Pods Frameworks' to project.
Adding Build Phase '[CP] Copy Pods Resources' to project.
Adding Build Phase '[CP] Check Pods Manifest.lock' to project.
Integrating target `Pods-WKWebViewOCTests` (`WKWebViewOC.xcodeproj` project)
Adding Build Phase '[CP] Embed Pods Frameworks' to project.
Adding Build Phase '[CP] Copy Pods Resources' to project.
Adding Build Phase '[CP] Check Pods Manifest.lock' to project.
Integrating target `Pods-WKWebViewOCUITests` (`WKWebViewOC.xcodeproj` project)
Adding Build Phase '[CP] Embed Pods Frameworks' to project.
Adding Build Phase '[CP] Copy Pods Resources' to project.
Adding Build Phase '[CP] Check Pods Manifest.lock' to project.
- Running post install hooks
- cocoapods-stats from
`/Users/kingly/.rvm/gems/ruby-2.4.1@global/gems/cocoapods-stats-1.0.0/lib/cocoapods_plugin.rb`
Sending stats
- YYKit, 1.0.9
-> Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.
kinglydeMacBook-Pro:WKWebViewOC kingly$
出現(xiàn)上述信息,證明下載導(dǎo)入YYKit類庫成功了。
這個(gè)過程如果比較慢,也許需要十幾秒,取決于你的網(wǎng)絡(luò)狀況。
使用CocoaPods來添加第三方類庫,無論是執(zhí)行pod install還是pod update都卡在了Analyzing dependencies不動(dòng)
原因在于當(dāng)執(zhí)行以上兩個(gè)命令的時(shí)候會(huì)升級(jí)CocoaPods的spec倉庫,加一個(gè)參數(shù)可以省略這一步,然后速度就會(huì)提升不少。加參數(shù)的命令如下:
pod install --verbose --no-repo-update
pod update --verbose --no-repo-update
或者
pod install --no-repo-update
pod update --no-repo-update
注意最后一句話,意思是:以后打開項(xiàng)目就用 WKWebViewOC.xcworkspace 打開,而不是之前的.xcodeproj文件。
你也許會(huì)郁悶,為什么會(huì)出現(xiàn).xcodeproj文件呢。這正是你剛剛運(yùn)行$ pod install命令產(chǎn)生的新文件。除了這個(gè)文件,你會(huì)發(fā)現(xiàn)還多了另外一個(gè)文件“Podfile.lock”和一個(gè)文件夾“Pods”。
打開項(xiàng)目
點(diǎn)擊 WKWebViewOC.xcworkspace 打開之后工程之后,項(xiàng)目Xcode目錄結(jié)構(gòu)如下圖:
[外鏈圖片轉(zhuǎn)存失敗,源站可能有防盜鏈機(jī)制,建議將圖片保存下來直接上傳(img-BOC3SXbz-1679559908722)(https://static.oschina.net/uploads/img/201711/02134138_l4XI.png “”)]
你會(huì)驚喜地發(fā)現(xiàn),YYKit已經(jīng)成功導(dǎo)入項(xiàng)目了。
現(xiàn)在,你就可以開始使用YYKit類庫啦。
在你的項(xiàng)目需要使用的地方中輸入:
#import <YYKit/YYKit.h>
即可。
如果發(fā)現(xiàn)如下所示的問題,編譯報(bào)file not found錯(cuò)誤
解決:
Project->Info->Configurations中,在Configurations里面吧Debug 和Release的Tests 的None改為pods,clean一下,即可。
更多
The Markdown Preference Pane
詳細(xì)請(qǐng)見 官方介紹:https://guides.cocoapods.org/
最新版的MacOS Catalina系統(tǒng)命令行執(zhí)行pod setup命令直接結(jié)束啦;
莫著急,我們手動(dòng)安裝本地庫,速度絕對(duì)快
命令行執(zhí)行以下操作
git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/trunk --depth 1
git clone https://github.com/CocoaPods/Specs.git master --depth 1
git clone --depth=1 https://github.com/CocoaPods/Specs.git master
git clone git://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/trunk
CDN: trunk URL couldn’t be downloaded: https://raw.githubusercontent.com/CocoaPods/Specs/master/Specs/f/e/9/CocoaMQTT/1.0.0/CocoaMQTT.podspec.json
由于項(xiàng)目是用CocoaPods管理,CocoaPods 1.8以后將CDN切換為默認(rèn)的spec repo源,并附帶一些增強(qiáng)功能!CDN支持最初是在1.7版本中引入的,最終在1.7.2中完成。 它旨在大大加快初始設(shè)置和依賴性分析。
按照官方文檔 podfile文件中添加source源:
source ‘https://github.com/CocoaPods/Specs.git’
podfile文件中添加source源后,pod install和pod update可以正常操作,但是pod search有些庫卻不正常
解決辦法:
- podfile文件中指定source源為master:
source ‘https://github.com/CocoaPods/Specs.git’文章來源地址http://www.zghlxwxcb.cn/news/detail-584379.html
2.執(zhí)行pod repo remove trunk移除trunk源
執(zhí)行完后,pod search就都正常了!
kinglydeMacBook-Pro:repos kingly$ pod repo list
master
- Type: git (master)
- URL: https://github.com/CocoaPods/Specs.git
- Path: /Users/kingly/.cocoapods/repos/master
1 repo
kinglydeMacBook-Pro:repos kingly$
注意:podfile文件中一定要指定master源,因?yàn)楝F(xiàn)在默認(rèn)是trunk源文章來源:http://www.zghlxwxcb.cn/news/detail-584379.html
source ‘https://github.com/CocoaPods/Specs.git’
到了這里,關(guān)于最新版的 MacOS Catalina 的 CocoaPods 安裝步驟 pod install/pod update 更新慢等問題的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!