CocoaPods 安装
Contents
前言
今天来说一下 CocoaPods 的安装。
CocoaPods 是用来管理 iOS 开发中用到的第三方库,类似安卓中的 Gradle 、 Maven 的工具。
在 iOS 的开发中会经常用到,对我这样的 iOS 新手,一段时间不用,不免遗忘,所以用来记录一下,以后查找起来方便。
换源
CocoaPods 使用 ruby 编写,所以为了加快下载,我们把源换成国内的
在换之前可以使用如下指令查看当前的源
$ gem sources -l
*** CURRENT SOURCES ***
https://rubygems.org/
可以看到我这里使用的是官方的源,所以先要删掉官方的源然后再换成国内的源
$ gem sources --remove https://rubygems.org/ # 删除官方源
https://rubygems.org/ removed from sources
$ gem source -a https://gems.ruby-china.com/ # 添加国内源
https://gems.ruby-china.com/ added to sources
rvm
再换源成功之后,进行安装发现我的 ruby 版本过低安装失败,所以在安装之前需要升级 ruby ,我们通过 rvm 来管理 ruby 。
由于电脑不带 rvm 所以也需要进行安装
curl -L get.rvm.io | bash -s stable
安装碰到如下错误
gpg: 签名建立于 六 1/16 02:46:22 2021 CST
gpg: 使用 RSA 密钥 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
gpg: 无法检查签名: No public key
GPG signature verification failed for '/Users/test/.rvm/archives/rvm-1.29.12.tgz' - 'https://github.com/rvm/rvm/releases/download/1.29.12/1.29.12.tar.gz.asc'! Try to install GPG v2 and then fetch the public key:
gpg --keyserver hkp://pool.sks-keyservers.net --recv-kyes 409B6B1796C275462A1703113804BB82D39DC0E3 7D2BAF1CF37B13E2069D6956105BD0E739499BDB
or if it fails:
command curl -sSL https://rvm.io/mpapis.asc | gpg --import -
command curl -sSL https://rvm.io/pkuczynski.asc | gpg --import -
In case of further problems with validation please refer to https://rvm.io/rvm/security
第一个命令试了不行,于是尝试第二个可以
curl -sSL https://rvm.io/pkuczynski.asc | gpg --import -
gpg: 密钥 105BD0E739499BDB:公钥 “Piotr Kuczynski <piotr.kuczynski@gmail.com>” 已导入
gpg: 处理的总数:1
gpg: 已导入:1
升级ruby
安装 rvm 成功之后就可以进行升级 ruby 了。
rvm install ruby-3.0.0 # 安装3.0.0
ruby -v # 查看ruby版本
我这里直接指定了安装 3.0.0 版本的 ruby ,你可以通过 rvm list 来查看本地安装所有的 ruby 版本。
安装CocoaPods
有了上面的准备安装 cocoapods 基本上就不会有什么问题了
sudo gem install cocoapods
使用
安装第三方库
Cocoapods 安装好之后就可以在项目中使用了,在含有 Podfile 的项目中执行如下命令
pod install
执行之后会根据 Podfile 生成 Podfile.lock 文件,里面包含了第三方库的版本,这样有一个好处是大家使用的版本是统一的,不会因为后面安装就用最新的。
装好第三方库之后,可以双击项目中的 .xcworkspace 文件进行打开。
更新
有时候我们需要更新第三方库的版本,这时候就需要用到下面这条指令进行更新
pod update
卸载
一般我们不会去卸载,不过还是记录一下。
sudo gem uninstall cocoapods