欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

2016最新CocoaPods安装和错误解决方案

程序员文章站 2024-02-14 10:31:52
cocoapods是什么?   cocoapods是一个负责管理ios项目中第三方开源库的工具。cocoapods的项目源码在github上管理。该项目开始于2011...

cocoapods是什么?

  cocoapods是一个负责管理ios项目中第三方开源库的工具。cocoapods的项目源码在github上管理。该项目开始于2011年8月12日,在这两年多的时间里,它持续保持活跃更新。开发ios项目不可避免地要使用第三方开源库,cocoapods的出现使得我们可以节省设置和更新第三方开源库的时间,在ios开发中经常会用到第三方库如afnetworking,asihttprequest等,在使用第三方库时,你除了要导数源码外,但是,集成这些依赖库需要我们手动去配置,还有当这些第三方库发生了更新,还需要手动去更新项目。这就显得非常麻烦。有麻烦自然有解决办法,cocoapods就是为了解决这个问题而生的。通过cocoapods,我们可以将第三方的依赖库统一管理起来,配置和更新只需要通过简单的几行命令即可完成。

最近安装cocoapods,在网上找了一下资料,发现文章要么过时,要么各种报错。都是抄来抄去,没有靠谱的,特意整理了一下最新的教程,并亲测成功。taobao gems 源已停止维护,现由 ruby-china 提供镜像服务

第一步:安装rvm,

不管需不需要升级ruby,rvm可以让你拥有多个版本的ruby,并且可以在多个版本之间*切换。如果已经安装过跳到第2步(rvm -v 查看是否安装)

$ curl -l get.rvm.io | bash -s stable
//需要等一会
$ source ~/.bashrc
$ source ~/.bash_profile

等待终端加载完毕,后输入

rvm -v

2016最新CocoaPods安装和错误解决方案

如果能显示版本好则安装成功了。

第二步:安装ruby

cocoapods目前安装需要ruby的版本大于2.2.2,不然会报错:error installing pods: activesupport requires ruby version >= 2.2.2。目前mac系统默认自带是2.0,所以需要升级。

查看已安装的ruby:

rvm list

如果已安装版本大于2.2.2,直接到第3步。

ruby -v //也可以查看ruby版本
//列出ruby可安装的版本信息
rvm list known
rvm install 2.2.2 //安装一个ruby版本

2016最新CocoaPods安装和错误解决方案

这里一定要设置为默认版本

rvm use 2.2.2 --default

第三步:更换源

我们需要来修改更换源(由于国内被墙)所以要把源切换至ruby-china在终端执行以下命令

目前网上文章大都是这面这种:

$ sudo gem update --system
$ gem sources --remove https://rubygems.org/
//等有反应之后再敲入以下命令
$ gem sources -a https://ruby.taobao.org/

这里是个大坑:会报错_connect returned=1 errno=0 state=sslv3 read servercertificateb:certificate verify failed (https://ruby.taobao.org/specs.4.8.gz)

这是因为taobao gems 源已停止维护,现由 ruby-china 提供镜像服务,正确的操作是:

$ sudo gem update --system
$ gem sources --remove https://rubygems.org/
$ gem sources --remove https://ruby.taobao.org/ //如果安装了淘宝的镜像
//等有反应之后再敲入以下命令
gem sources -a https://gems.ruby-china.org/

为了验证你的ruby镜像是并且仅是ruby-china,可以用以下命令查看:

$ gem sources -l

只有在终端中出现下面文字才表明你上面的命令是成功的:

*** current sources ***

# 确保只有 gems.ruby-china.org

第四步:安装cocoapods

sudo gem install -n /usr/local/bin cocoapods

再加一句,完美解决

sudo xcode-select --switch/applications/xcode.app

在终端中输入如下命令来完成安装:

pod setup

它需要一点时间来完成,我反正是挂机等了一晚,你等就是了

如果安装失败 ~/.cocoapods 里面是空的,就需要重新setup

命令如下:

pod repo remove master
pod setup

完毕之后这个文件夹大概有 100多m,需要花费比较多时间,请耐心等待。

到这里你已经成功安装了cocoapods

为了确定cocoapods是否可以使用,可以用cocoapods的搜索功能验证一下。在终端中输入:

$ pod search afnetworking

过一段时间之后(可能会比较久),你会在终端中看到一些红色的错误信息,如下:

setting up cocoapods master repo

[!] /usr/bin/gitclone 'https://github.com/cocoapods/specs.git' master --depth=1

cloning into 'master'...

error: rpc failed; result=52, http code = 0

fatal: the remote end hung up unexpectedly

这说明cocoapods还不能正常使用,需要更新pod,下载它的一些依赖包;在终端中输入:

$ pod setup

过一段时间之后,你会在终端中看到跟上面同样的红色的错误信息。

敲入以上命令时,小编终端上是这个样子的(由于太长,仅截取前面一部分):

2016最新CocoaPods安装和错误解决方案

这说明某些环境原因导致pod更新不了,可能原因有,1)gem版本太低;2)github无法链接;3).cocoapods目录下的配置信息错误。我们可以一个一个来排除,

首先更新gem到最新版本,在终端中输入:

$ sudo gem update --system

然后检查是否可以ping通github,在终端中输入:

$ ping github.com

然后查看pob repo list:

$ pod repo list

结果显示0 repos,说明没有安装成功;

删除.cocoapods目录,重新下载pod更新:

$ cd ~/.cocoapods/
$ sudo -rm -rf ~/.cocoapods/

重新执行pod setup,过一段时间后提示setup completed,在终端中输入 pod list,展示出安装列表;

敲入以上命令时,小编终端上是这个样子的(由于太长,仅截取前面一部分):

2016最新CocoaPods安装和错误解决方案2016最新CocoaPods安装和错误解决方案2016最新CocoaPods安装和错误解决方案2016最新CocoaPods安装和错误解决方案2016最新CocoaPods安装和错误解决方案

看到这里,你心里会不会说,我靠!太爽了,终于下载并且安装好了!接下来看下如何使用吧。。

我们先创建这个神奇的podfile。在终端中进入(cd命令)你项目所在目录,然后在当前目录下,利用vim创建podfile,运行:

$ vim podfile

然后在podfile文件中输入以下文字:

需要注意的是podfile里面输入的格式变了。

platform :ios, '8.0'

target '你的项目名称' do

pod 'afnetworking', '~> 3.1.0'

end

然后保存退出。vim环境下,保存退出命令是:

:wq

这时候,你会发现你的项目目录中,出现一个名字为podfile的文件,而且文件内容就是你刚刚输入的内容。注意,podfile文件应该和你的工程文件.xcodeproj在同一个目录下。

这时候,你就可以利用cocopods下载afnetworking类库了。还是在终端中的当前项目目录下,运行以下命令:

$ pod install

2016最新CocoaPods安装和错误解决方案

注意最后一句话,意思是:以后打开项目就用 cocoapodsdemo.xcworkspace 打开,而不是之前的.xcodeproj文件。否则无法关联pod下来的类库。

2016最新CocoaPods安装和错误解决方案

以上所述是小编给大家介绍的2016最新cocoapods安装和错误解决方案,希望对大家有所帮助