服务器之家

服务器之家 > 正文

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

时间:2021-02-20 16:46     来源/作者:iOS开发网

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 查看是否安装)

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

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

?
1
rvm -v

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

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

第二步:安装ruby

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

查看已安装的ruby:

?
1
rvm list

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

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

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

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

?
1
rvm use 2.2.2 --default

第三步:更换源

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

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

?
1
2
3
4
$ 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 提供镜像服务,正确的操作是:

?
1
2
3
4
5
$ 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,可以用以下命令查看:

?
1
$ gem sources -l

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

*** current sources ***

https://gems.ruby-china.org/

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

第四步:安装cocoapods

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

再加一句,完美解决

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

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

pod setup

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

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

命令如下:

?
1
2
pod repo remove master
pod setup

 

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

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

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

?
1
$ 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,下载它的一些依赖包;在终端中输入:

?
1
$ pod setup

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

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

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

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

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

?
1
$ sudo gem update --system

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

?
1
$ ping github.com

然后查看pob repo list:

?
1
$ pod repo list

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

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

?
1
2
$ 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,运行:

?
1
$ vim podfile

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

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

?
1
platform :ios, '8.0'

target '你的项目名称' do

?
1
pod 'afnetworking', '~> 3.1.0'

end

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

:wq

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

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

?
1
$ pod install

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

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

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

以上所述是小编给大家介绍的2016最新cocoapods安装和错误解决方案,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!

原文链接:http://www.jianshu.com/p/2ef8a38416c4

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
yue是什么意思 网络流行语yue了是什么梗
yue是什么意思 网络流行语yue了是什么梗 2020-10-11
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总
苹果12mini价格表官网报价 iPhone12mini全版本价格汇总 2020-11-13
返回顶部