Mac 安装cocoapodsrvm、ruby、gem、cocoapods之间的关系

Python016

Mac 安装cocoapodsrvm、ruby、gem、cocoapods之间的关系,第1张

执行完后可能有下面的问题。即执行 pod search AFNetworking 时,终端提示如下图1-1:

这时需要我们执行以下命令

git clone https://mirrors.tuna.tsinghua.edu.cn/git/CocoaPods/Specs.git ~/.cocoapods/repos/trunk

执行完毕,即可正常搜索出第三方框架了。

至此完结~

gem安装cocoapods的命令是: sudo gem install cocoapods 。

总结:rvm、ruby、gem、cocoapods之间的关系,即rvm是管理ruby这门计算机语言版本的工具。gem和cocoapods是用ruby语言开发出来的工具,gem用来安装cocoapods,而cocoapods是提供给iOS开发者管理第三方框架的工具。

对于iOS开发者而言,我们需要cocoapods这个工具来帮我们管理第三方的框架,但是安装cocoapods,就需要使用gem来安装,gem又需要ruby来安装,ruby又需要rvm来安装。

首先需要下载安装CocoaPods,系统要求有ruby环境,至少OS X 10.9以后是自带ruby环境的(Python也自带了),使用“ruby -v”命令可以查

看当前ruby版本。

配置过程如下:

1.ruby环境

不放心的话可以先确认下ruby环境,据说由于GFW的影响,大都把Ruby镜像指向taobao的(其实上个月第一次用的时候没有设置,现在为了稳定性还是换吧),执行以下命令:

2.下载CocoaPods

执行如下命令:

sudo gem install cocoapods 

3.使用CocoaPods

安装完成后即可使用了,通过CocoaPods来下载使用第三方类库,首先要检查CocoaPods是否支持目标类库,虽然大多数都是支持的。

比如检查是否支持AFNetworking,执行命令“pod search AFNetworking”,即可看到相关信息。

下面举个例子如何在一个名为“DemoMap”的项目里使用CocoaPods管理第三方类库,进入项目所在目录,并建立Podfile(配置文件)

执行两条命令:

cd /hou/DemoMap vim Podfile 

按下“i”,进入编辑模式,在Podfile中输入以下信息(根据GitHub中提示信息获得):

platform :ios, '7.0' pod "AFNetworking", "~> 2.0"

按下ESC键,退出编辑模式,输入:wq,进行保存操作。

输入pod install开始自动下载并配置好,以后打开项目用.xcworkspace后缀的文件即可。

Pods文件夹中存放的就是下载好的第三方依赖库。

打开后可以发现,项目工程中已经自动引入了AFNetworking。

在工程里引用头文件后就可以直接使用了。如果类库有更新,可以按照第3步的办法对配置文件进行更新,然后执行“pod update”即可。

1.移除现有Ruby默认源

$gem sources --remove https://rubygems.org/

2.使用新的源(淘宝的源已经用不了了,换ruby-china)

$gem sources -a https://gems.ruby-china.com

3.验证新源是否替换成功

$gem sources -l

4.安装CocoaPods

5.更新gem

$sudo gem update --system

到这里CocoaPods就安装好了,需要注意的是终端提示输入密码的时候不会有任何显示,输入完直接 回车 即可

下面来说一下如何通过Cocoapods安装第三方库(以AFNetworking为例)

1.打开Xcode,新建一个工程,并在终端通过 cd 命令到文件夹内,可通过 ls 查看是否有创建的工程

2.搜索需要的第三方库,查看其版本

$pod search AFNetworking

显示如下:

2.新建文件

$vim Podfile

3.写入(此时AFNetworing最新版为3.1.0,为了兼容iOS 7.0,我们安装3.0.4版本)

输入完成后按 esc :wq 回车 退出vim编辑器

4.导入第三方库

$pod install

到此第三方库就安装完成了。以后若还要添加只需将需要的第三方库写入Podfile文件中,在终端通过 cd 命令进入工程目录 输入 pod update 即可。

无论使用pod install还是pod update,都会默认先更新一次podspec索引,加一个参数可以省略这一步,然后速度就会提升不少.

pod install和pod update的区别:

当你在项目中已经通过CocoaPods安装了第三方库,并在Podfile文件中没有指定第三方库的版本,此时如果你使用pod install命令,CocoaPods检测到你已经安装过此第三方库,会跳过安装;如果你使用pod update命令,CocoaPods会检测并将此三方库更新到最新版本。

又换源了

清华大学开源软件镜像站

M1的电脑上安装x86的命令:

arch -x86_64 pod install