前言
前段时间将我的开源库的spec上传到cocoapods的时候,对cocoapods又有了一些新的认识,大家在使用cocoapods时或多或少都会遇到一些问题,同时对其原理也知之甚少,所以我将自己掌握的关于cocoapods的知识整理成三篇文章。
一、cocoapods 的简介
cocoapods 是一个管理iOS项目中依赖的三方库的工具。支持使用cocoapods管理的三方库的仓库地址信息都存与此链接
二、cocoapods的安装
cocoapods 除了能运行在ruby环境,同时也支持OSX上APP的方式运行。
CocoaPods-App 1.5.2 下载地址
下面我们主要介绍其在ruby环境的安装和使用。
1. ruby环境的升级
cocoapods是基于ruby环境的应用。一般OSX默认会安装ruby环境,且ruby环境版本较低,而cocoapods所需要的ruby环境必须高于2.2.2版本,所以要升级ruby。
#查看ruby版本
$ruby -v
升级ruby的方法有两种。
1)homebrew 升级ruby
homebrew是一款OSX的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。
-
安装homebrew
ruby -e "$(curl -fsSL https://raw.github.com/ Homebrew/homebrew/go/install)"
-
升级ruby
brew update brew install ruby
这里安装成功后还要检查环境变量
参考
2)rvm 升级ruby
rvm,全称 ruby version manager ,是一个命令行工具可以提供一个便捷的多版本ruby环境的管理和切换。
-
安装RVM
$ curl -L get.rvm.io | bash -s stable #检查安装是否正常 $ rvm -v
-
升级ruby
#列出已知的ruby版本 $ rvm list known #选着一个版本安装 例如 安装ruby 2.3 $ rvm install 2.3
2. Gem升级
Gem 其实就是rubyGems,是一个包管理框架,提供ruby社区的gem的托管服务,用于ruby软件包的下载安装和使用(ruby的软件包被称为gem,包含了ruby应用和库)。如果Gem的版本过低会导致cocoapods 安装失败。
#相关命令
sudo gem update —system
gem -v
3. 切换ruby源
由于墙的原因,我们需要切换ruby源
-
查看ruby源
gem sources -l
默认会显示
*** CURRENT SOURCES *** https://rubygems.org/
-
移除源
gem sources —remove https://rubygems.org/ (淘宝的源已经不再更新维护,所以这里使用ruby-china的镜像)
-
添加源
gem sources —add https://gems.ruby-china.org/
-
验证是否添加成功过
gem sources -l
4. 安装cocoapods
OS X 10.11 以前安装命令为
sudo gem install cocoapods
OS X 10.11 (EL Capitan)及 更名后的系统 MacOS 安装命令为
#安装最新版本
sudo gem install -n /usr/local/bin cocoapods
#安装指定版本
sudo gem install -n /usr/local/bin cocoapods -v 1.0.0
#安装最新的release bate 版本
sudo gem install -n /usr/locall/bin cocoapods —pre
#查看pods是否安装成功
pod —version
如果你想卸载cocoapods 可以执行下面命令
sudo gem uninstall cocoapods
5. 更新Podspec 索引文件
安装完成后执行下面命令,将所有第三方的podspec文件更新到本地的~/.cocoapods/repos目录下。
pod setup
所有的第三方开源库的podspec 文件都托管在https://github.com/CocoaPods/Specs。
我们需要把这些文件保存在本地,才能用pod 搜索到目标开源库。
由于github 上的podspec文件较多,有500M左右,所以执行 pod setup 的时候需要等待很 长一段时间,同时在此过过程中也可以用如下命令查看下载进度。
cd ~/.cocoapods/repos
du -sh *
如若已经在其他设备上成功安装cocopods可以考虑复制一份到同样的目录下,即可跳过pod setup 。