CocoaPods的简介 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。如果使 用他们,传统的方法是,在git上把他们下载下来,然后去配置。这个工作很繁琐,而且也容易出错。不 过
当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。如果使 用他们,传统的方法是,在git上把他们下载下来,然后去配置。这个工作很繁琐,而且也容易出错。不 过有了Cocoapods你就会从这些繁琐的工作中解脱出来。
RVM: Ruby Version Manager.中文为Ruby版本管理器,包括Ruby的版本管理和Gem库管理。
$ curl -L get.rvm.io | bash -s stable //需要等一会 $ source ~/.bashrc $ source ~/.bash_profile
等待终端加载完毕,后输入
rvm -v
如图所示:
如上图所示,能显示版本号,即是安装成功了。
如果受到防火墙的影响,出现
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
CocoaPods目前安装需要Ruby的版本大于2.2.2,不然会报错:Error installing pods: activesupport requires Ruby version >= 2.2.2。目前Mac系统默认自带是2.0,所以需要升级。
ruby -v
rvm list known
如下图所示:
根据rvm列表里# MRI Rubies一栏里显示的的Ruby版本号,比如要安装最新的2.4.1版本,命令如下:
rvm install 2.4.1
安装的过程中,可能出现的问题,如下所示:
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
此时会弹出一个软件安装信息 ,点击安装 ,安装结束后,
继续在终端输入:
rvm install 2.4.1
安装即可完成ruby的安装
使用 ruby -v
命令,出现如下所示,
kinglydeMacBook-Pro:~ kingly$ ruby -vruby 2.4.1p111 (2017-03-22 revision 58053) [x86_64-darwin16]kinglydeMacBook-Pro:~ kingly$
安装成功。
升级RubyGems版本
sudo gem update --system
使用 gem -v 查看一下gem版本,要2.6以上才可以
kinglydeMacBook-Pro:~ kingly$ gem -v2.6.14kinglydeMacBook-Pro:~ kingly$
更改gem源,先看一下当前的gem源
gem sources -l
淘宝的gem源已经不维护了,现在是官方论坛在维护,地址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 cachesource https://rubygems.org/ not present in cachekinglydeMacBook-Pro:~ kingly$
使用 gem sources -l ,查看是否添加成功
kinglydeMacBook-Pro:~ kingly$ gem sources -l*** CURRENT SOURCES ***https://gems.ruby-china.com/kinglydeMacBook-Pro:~ kingly$
确保最新的源只有一个。
有关 最新 RubyGems 镜像- Ruby China ,请见 https://gems.ruby-china.com/
添加成功。
sudo gem install -n /usr/local/bin cocoapods --pre
初始化
pod setup
可能下载需要很久,根据网速的快慢而定,因为下载镜像索引大概有1个多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
出现如上所示,恭喜你,CocoaPods已经安装并下载镜像索引成功了。
我们还可以验证一下,是否安装成功。
pod search 第三方 ,例如:执行 $pod search KYBarrageKit
出现如下所示,即表明您安装成功了,请愉快的玩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系统命令行执行pod setup命令直接结束啦;
莫着急,我们手动安装本地库,速度绝对快
好了,安装好CocoPods之后,接下来就是使用它。所幸,使用CocoPods和安装它一样简单,也是通过一两行命令就可以搞定。
在这里用两种使用场景来具体说明如何使用CocoaPods。
为了确定YYKit是否支持CocoaPods,可以用CocoaPods的搜索功能验证一下。在终端中输入:
pod search YYKit
出现如下:
-> 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导入你的项目中。
在终端切换到项目目录:
kinglydeMacBook-Pro:~ kingly$ cd /Users/kingly/Documents/项目/app/BCWEBBrowser/WKWebViewOC kinglydeMacBook-Pro:WKWebViewOC kingly$ lsWKWebViewOCWKWebViewOCTestsWKWebViewOC.xcodeprojWKWebViewOCUITestskinglydeMacBook-Pro:WKWebViewOC kingly$ ls -ltotal 0drwxr-xr-x@ 12 kingly staff 408 11 1 15:47 WKWebViewOCdrwxr-xr-x 5 kingly staff 170 11 2 09:20 WKWebViewOC.xcodeprojdrwxr-xr-x@ 4 kingly staff 136 4 11 2017 WKWebViewOCTestsdrwxr-xr-x@ 4 kingly staff 136 10 31 09:27 WKWebViewOCUITestskinglydeMacBook-Pro:WKWebViewOC kingly$
使用如下命令创建一个Podfile文件
pod init
如下创建成功
kinglydeMacBook-Pro:WKWebViewOC kingly$ pod initkinglydeMacBook-Pro:WKWebViewOC kingly$ ls -ltotal 8-rw-r--r-- 1 kingly staff 438 11 2 13:04 Podfiledrwxr-xr-x@ 12 kingly staff 408 11 1 15:47 WKWebViewOCdrwxr-xr-x 5 kingly staff 170 11 2 09:20 WKWebViewOC.xcodeprojdrwxr-xr-x@ 4 kingly staff 136 4 11 2017 WKWebViewOCTestsdrwxr-xr-x@ 4 kingly staff 136 10 31 09:27 WKWebViewOCUITestskinglydeMacBook-Pro:WKWebViewOC kingly$
这时候,你会发现你的项目目录中,出现一个名字为Podfile的文件,注意,Podfile文件应该和你的工程文件.xcodeproj在同一个目录下。
vi Podfile
修改如下 :
# Uncomment the next line to define a global platform for your projectplatform :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 endend
然后保存退出。vim环境下,保存退出命令是:
:wq!
这时候,你就可以利用CocoPods下载YYKit类库了。
还是在终端中的当前项目目录下,运行以下命令:
pod install
因为是在你的项目中导入YYKit,这就是为什么这个命令需要你进入你的项目所在目录中运行。
运行上述命令之后,终端出现以下信息:
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$
出现上述信息,证明下载导入YYKit类库成功了。
这个过程如果比较慢,也许需要十几秒,取决于你的网络状况。
使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
pod install --verbose --no-repo-updatepod update --verbose --no-repo-update或者pod install --no-repo-updatepod update --no-repo-update
注意最后一句话,意思是:以后打开项目就用 WKWebViewOC.xcworkspace 打开,而不是之前的.xcodeproj文件。
你也许会郁闷,为什么会出现.xcodeproj文件呢。这正是你刚刚运行$ pod install命令产生的新文件。除了这个文件,你会发现还多了另外一个文件“Podfile.lock”和一个文件夹“Pods”。
点击 WKWebViewOC.xcworkspace 打开之后工程之后,项目Xcode目录结构如下图:
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-BOC3SXbz-1679559908722)(https://static.oschina.net/uploads/img/201711/02134138_l4XI.png “”)]
你会惊喜地发现,YYKit已经成功导入项目了。
现在,你就可以开始使用YYKit类库啦。
在你的项目需要使用的地方中输入:
#import
即可。
如果发现如下所示的问题,编译报file not found错误
解决:
Project->Info->Configurations中,在Configurations里面吧Debug 和Release的Tests 的None改为pods,clean一下,即可。
详细请见 官方介绍:https://guides.cocoapods.org/
最新版的MacOS Catalina系统命令行执行pod setup命令直接结束啦;
莫着急,我们手动安装本地库,速度绝对快
命令行执行以下操作
git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/trunk --depth 1git clone https://github.com/CocoaPods/Specs.git master --depth 1git clone --depth=1 https://github.com/CocoaPods/Specs.git mastergit 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
由于项目是用CocoaPods管理,CocoaPods 1.8以后将CDN切换为默认的spec repo源,并附带一些增强功能!CDN支持最初是在1.7版本中引入的,最终在1.7.2中完成。 它旨在大大加快初始设置和依赖性分析。
按照官方文档 podfile文件中添加source源:
source ‘https://github.com/CocoaPods/Specs.git’
podfile文件中添加source源后,pod install和pod update可以正常操作,但是pod search有些库却不正常
解决办法:
source ‘https://github.com/CocoaPods/Specs.git’
执行pod repo remove trunk移除trunk源
执行完后,pod search就都正常了!
kinglydeMacBook-Pro:repos kingly$ pod repo listmaster- Type: git (master)- URL: https://github.com/CocoaPods/Specs.git- Path: /Users/kingly/.cocoapods/repos/master1 repokinglydeMacBook-Pro:repos kingly$
注意:podfile文件中一定要指定master源,因为现在默认是trunk源
source ‘https://github.com/CocoaPods/Specs.git’
来源地址:https://blog.csdn.net/long4512524/article/details/129733643
--结束END--
本文标题: 最新版的 MacOS Catalina 的 CocoaPods 安装步骤 pod install/pod update 更新慢等问题
本文链接: https://lsjlt.com/news/377822.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
2024-05-24
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0