因为淘宝的镜像不在维护了,所以最近看到一篇2107年的cocoapods安装博客Mark一下

第一步:安装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 查询到当前设置了代理,所以取消这个设置:

git config --global --unset 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下来的类库。

转自:http://blog.csdn.net/e62ces0iem/article/details/73550884

iOS开发之cocoapods安装(2017)相关推荐

  1. (0109)iOS开发之CocoaPods Mac App的安装和使用

    这里介绍一个iOS 开发必备好用的工具.Mac CocoaPods App .不需要每次都再打开终端,一顿操作了. 下载地址: https://cocoapods.org/app 先用xcode创建一 ...

  2. (0004) iOS 开发之CocoaPods 升级过程

    终端pod  search xxx 最新版本,是什么原因? 原因:CocoaPods的版本过低 解决办法:升级CocoaPods 1.查看当前系统Cocoapods版本命令:pod --version ...

  3. (0075)iOS开发之cocoapods使用OpenSSL报target has libraries with conflicting names: libcrypto.a and libssl.a

    场景描述: 今天使用cocoapods集成OpenSSL的时候,发生了如下错误: pod 'OpenSSL' pod install –verbose –no-repo-update 然后终端就报: ...

  4. 李洪强iOS开发之-cocopods安装

  5. (0016)iOS 开发之Mac上Navicat Premium 创建远程连接和本地连接

    1.下载安装 (百度云盘里面有安装文件和注册机) 链接: https://pan.baidu.com/s/1kVG1k71 密码: mr5g 破解教程看这篇博客:http://blog.csdn.ne ...

  6. iOS开发之AVKit框架使用

    2019独角兽企业重金招聘Python工程师标准>>> iOS开发之AVKit框架使用 一.引言 在iOS开发框架中,AVKit是一个非常上层,偏应用的框架,它是基于AVFounda ...

  7. (0045) iOS 开发之MBProgressHUD 源码学习

    (0045) iOS 开发之MBProgressHUD 源码学习 第一部分:学习所得和分析线程 1.  学习到了kvo 的使用 和屏幕方向的旋转判断. 2. 如果调起这个 HUD 的方法不是在主线程调 ...

  8. 李洪强iOS开发之RunLoop的原理和核心机制

    李洪强iOS开发之RunLoop的原理和核心机制 搞iOS之后一直没有深入研究过RunLoop,非常的惭愧.刚好前一阵子负责性能优化项目,需要利用RunLoop做性能优化和性能检测,趁着这个机会深入研 ...

  9. IOS开发之MD5加密和钥匙串的使用-oc

    IOS开发之MD5加密和钥匙串的使用-oc 源码在我的主页,md5加密是用户登录安全的一个保障.不可逆的,可以暴力破解的. // // ViewController.m // MD5演练 // // ...

  10. IOS开发之CALayer基本属性和使用

    IOS开发之CALayer基本属性和使用 // // ViewController.m // CALayer // // Created by 鲁军 on 2021/2/21. //#import & ...

最新文章

  1. MySQL远程表访问设置
  2. python英文翻译-Python运算符-局部英文翻译版
  3. Linux - chmod
  4. 如何从JSF获取JSON响应?
  5. WinForm:进度条的实现(异步)
  6. Bootstrap 列平移
  7. java exec mvn_为`mvn exec:java`设置Java属性
  8. 计算机二级c语言编程题型,全国计算机等级二级C语言上机编程题题型
  9. 菜鸟学Struts2——Interceptors
  10. .Net 程序员应该知道的工具和网站
  11. 一场农业“人机”对战,能否凿开农村致富新门路呢?
  12. 17229 Lry,你除了2还是2[C]
  13. 如何将静图制作成动图?教你一招快速合成GIF动图的方法
  14. 压缩视频文件怎么压缩最小?
  15. 极客时间——数据结构与算法(39) 回溯算法:从电影《蝴蝶效应》中学习回溯算法的核心思想
  16. [Share]17个免费下载电子书的网站
  17. TinyOS论文11:Sentomist
  18. lower_bound,upper_bound的第四个参数
  19. 写了那么多Android布局,你知道elevation属性吗
  20. 道可道云在线网盘源码

热门文章

  1. 【ACwing 95】费解的开关——枚举 + 搜索
  2. 联想 K5 Pro(L38041)免解锁BL 免rec 保留数据 ROOT Magisk Xposed 救砖 ZUI 5.0.188
  3. jQuery创建、删除和修改html标签
  4. Luogu P1963 [NOI2009]变换序列(二分图匹配)
  5. vue element-ui NavMenu错位问题
  6. AJAX基础知识点——思维导图
  7. C 语言实例 - 判断奇数/偶数
  8. python plt 如何画不同的数据图
  9. 深入浅出聊Unity3D项目优化:从Draw Calls到GC
  10. [选择性翻译][HDP Ambari 2.2.2安装使用说明][1]