最新的 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

如果能显示版本好则安装成功了。
第二步:安装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版本

这里一定要设置为默认版本
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 ***
https://gems.ruby-china.org/
# 确保只有 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目录下的repo目录拷贝下来,放进自己的目录里。再 pod setup
为了确定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
过一段时间之后,你会在终端中看到跟上面同样的红色的错误信息。
敲入以上命令时,小编终端上是这个样子的(由于太长,仅截取前面一部分):
这说明某些环境原因导致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,展示出安装列表;
敲入以上命令时,小编终端上是这个样子的(由于太长,仅截取前面一部分):
错误代理
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master --depth=1
Cloning into 'master'...
fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': Failed to connect to proxy.com port 1234: Operation timed out
很明显啊,应为不好,这歌意思是:代理出现了问题,导致clone不下来,研究了好长时间,于是有一下两种办法1》修改代理如:git config --global http.proxy 192.168.1.1:8081(这个代理时瞎写的)2》
git config --global http.proxy 查询到当前设置了代理,所以取消这个设置:
再查询,已经没有了代理, 后成功安装。
看到这里,你心里会不会说,我靠!太爽了,终于下载并且安装好了!接下来看下如何使用吧。。
我们先创建这个神奇的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
最近使用CocoaPods来添加第三方类库,无论是执行pod install还是pod update都卡在了Analyzing dependencies不动
原因在于当执行以上两个命令的时候会升级CocoaPods的spec仓库,加一个参数可以省略这一步,然后速度就会提升不少。加参数的命令如下:
$ pod install --verbose --no-repo-update
$ pod update --verbose --no-repo-update

注意最后一句话,意思是:以后打开项目就用 CocoaPodsDemo.xcworkspace 打开,而不是之前的.xcodeproj文件。否则无法关联pod下来的类库。
原文连接:https://zuo11.com/Notes.woe?action=detail¬e_id=70
http://blog.cocoachina.com/article/29127
最新的 cocoaPods 安装方法的更多相关文章
- 2017 最新的 cocoaPods 安装方法
经过努力终于发现了最新的 解决cocoaPods安装的办法: taobao Gems 源已停止维护,现由 ruby-china 提供镜像服务 第一步:安装rvm, 不管需不需要升级ruby,rvm可以 ...
- delphi xe5 android iny绿色版+最新SDK/NDK安装方法
转自: http://bbs.2ccc.com/topic.asp?topicid=438595 首先感谢iny的绿色版,因为我的精简Win7 32位安装原版镜像4.63G过程正常,但是编译出错,后来 ...
- 最新的 cocoapods 安装与使用(2016.11)
cocoapods简介: cocoapods 是iOS的类库管理工具,可以让开发者很方便集成各种第三方库,而不用去网站上一个个下载,再一个个文件夹的拖进项目中,还得添加相关的系统依赖库.只需要安装好c ...
- 最新的 cocoapods 安装与使用(2019.04)
cocoapods简介: cocoapods 是iOS的类库管理工具,可以让开发者很方便集成各种第三方库,而不用去网站上一个个下载,再一个个文件夹的拖进项目中,还得添加相关的系统依赖库.只需要安装好c ...
- 最新的CocoaPods 安装及使用
当在开发iOS应用时,会经常使用到很多的第三方开源类库,一般的方法是直接从GitHub下载,然后拖到项目中使用,如果该开源类库不依赖其他的类库,就可以直接使用:如果该开源类库还依赖一些其他的类库,则需 ...
- 最新 Sublime Text 3 Package Control 安装方法
相信看到这个帖子的童鞋,一般至少对 Sublime Text 有所了解了,废话不多讲,个人在 ST2 还没用好的时候, Sublime Text 3 又横空出世了,不过现在 ST3 还是 beta 版 ...
- 2016最新cocoapods安装流程,安装过程中遇到的问题及解决方法
现在的cocoapods与之前比较.有很多不一样的地方.自己试了一试,终于搞定.现在大概纪录一下. 1.首先查看ruby是否是最新版的. ruby是通过rvm安装的所以需要先安装rvm后查看ruby是 ...
- 最新cocoapods安装流程,安装过程中遇到的问题及解决方法
最近重新安装了一次cocoapods,参考的安装流程:http://blog.csdn.net/showhilllee/article/details/38398119/ 但是现在的cocoapods ...
- CocoaPods 的简单快速安装方法
CocoaPods 的简单快速安装方法(Setting up CocoaPods master repo 卡着不动,是因为淘宝镜像已经不能用了. 一.git clone方法安装cocoapods 镜像 ...
随机推荐
- In-Memory:在内存中创建临时表和表变量
在Disk-Base数据库中,由于临时表和表变量的数据存储在tempdb中,如果系统频繁地创建和更新临时表和表变量,大量的IO操作集中在tempdb中,tempdb很可能成为系统性能的瓶颈.在SQL ...
- 关于textview显示特殊符号居中的问题
话说这是2017年的第一篇博客,也是一篇技术博客.先从简单的一篇解决问题开始吧,千里之行,始于足下! ------------------------------------------------- ...
- Linq表达式、Lambda表达式你更喜欢哪个?
什么是Linq表达式?什么是Lambda表达式? 如图: 由此可见Linq表达式和Lambda表达式并没有什么可比性. 那与Lambda表达式相关的整条语句称作什么呢?在微软并没有给出官方的命名,在& ...
- TODO:GitHub创建组织的步骤
TODO:GitHub创建组织的步骤 使用GitHub进行团队合作,写这个步骤主要作用是为了OneTODO作为一个团队组织进行代码的分享,让更多人来参与. 使用帐号.密码登录GitHub 2.右上角加 ...
- 现代3D图形编程学习-基础简介(3)-什么是opengl (译)
本书系列 现代3D图形编程学习 OpenGL是什么 在我们编写openGL程序之前,我们首先需要知道什么是OpenGL. 将OpenGL作为一个API OpenGL 通常被认为是应用程序接口(API) ...
- JAVA FreeMarker工具类
FreeMarkerUtil.java package pers.kangxu.datautils.utils; import java.io.File; import java.io.StringW ...
- PHP设计模式(一)简单工厂模式 (Simple Factory For PHP)
最近天气变化无常,身为程序猿的寡人!~终究难耐天气的挑战,病倒了,果然,程序猿还需多保养自己的身体,有句话这么说:一生只有两件事能报复你:不够努力的辜负和过度消耗身体的后患.话不多说,开始吧. 一.什 ...
- 如何开启MySQL 5.7.12 的二进制日志
1. 打开/etc下的my.cnf文件 2. 编辑它,添加内容: log_bin=binary-log #二进制日志的文件名 server_id=1 #必须指定server_id,这是MySQL ...
- Princeton Algorithms week3 Assignment
这周编程作业是实现检测点共线的算法.和排序算法有关系的地方在于,对斜率排序后可以很快的检测出来哪些点是共线的,另外这个算法的瓶颈也在于排序的性能. 一点收获: java传参数时传递的是值,这很多人都知 ...
- 【初探Spring】------Spring IOC(一)
IOC:Inversion of Control(控制反转).IOC它所体现的并不是一种技术,而是一种思想,一种将设计好的对象交给容器来管理的思想.IOC的核心思想就体现在控制.反转这两个词上面,要理 ...