文档章节

cocoaPods 安装方法

_____1____
 _____1____
发布于 2017/07/12 09:44
字数 1829
阅读 12
收藏 0
点赞 0
评论 0

第一步:安装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/       //如果安装了淘宝的镜像

///////////////////////////////////////////////////////

如果报错 [可以参考](http://blog.csdn.net/jhy835239104/article/details/52655122)
ERROR: While executing gem ... (Gem::Exception) 
Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources 
or 前面让安装OpenSSL 重新build ruby,or后面是让使用 http 别用https。 
先看一下 $openssl version 是不是安装了 OpenSSL 
OpenSSL 0.9.8zh 14 Jan 2016 恩,有版本,还挺新的 
那就更换源 的地址 
删除 https 源 
$gem source -r https://rubygems.org/ to remove 
添加 http 源 
$gem source -a http://rubygems.org/ to read 
确保添加正确 
$gem source 
*** CURRENT SOURCES *** 
http://rubygems.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里面输入的格式变了。

//下面这个iOS必须小写
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下来的类库。

使用遇到的问题

第一个问题:

#  from /Users/crazy/Desktop/gcd_test/cocoapodTest/Podfile:1
 #  -------------------------------------------
 >  platform :iOS,'8.0' 
 #  pod 'AFNetworking', '2.5.4'
 #  -------------------------------------------
这是提示系统提示信息:
[!] Invalid `Podfile` file: Unsupported platform `iOS`. Platform must be `:ios` or `:osx`.. Updating CocoaPods might fix the issue.
也就是说ios必须小写。


第二个问题:
MacBook-Air:cocoapodTest crxxx$ pod update 
出现如下错误:

/Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.1/lib/cocoapods/user_interface/error_report.rb:13:in `report': incompatible character encodings: UTF-8 and ASCII-8BIT (Encoding::CompatibilityError)
from /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.1/lib/cocoapods/command.rb:59:in `report_error'
from /Library/Ruby/Gems/2.0.0/gems/claide-0.8.1/lib/claide/command.rb:374:in `handle_exception'
from /Library/Ruby/Gems/2.0.0/gems/claide-0.8.1/lib/claide/command.rb:315:in `rescue in run'
from /Library/Ruby/Gems/2.0.0/gems/claide-0.8.1/lib/claide/command.rb:303:in `run'
from /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.1/lib/cocoapods/command.rb:46:in `run'
from /Library/Ruby/Gems/2.0.0/gems/cocoapods-0.37.1/bin/pod:44:in `<top (required)>'
from /usr/bin/pod:23:in `load'
from /usr/bin/pod:23:in `<main>'

解决方案:
Podfile 文件中存在 单引号错误   正确的 '  

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

共有 人打赏支持
_____1____
粉丝 0
博文 124
码字总数 18116
作品 0
济南
高级程序员
CocoaPods的安装使用和常见问题

原文:http://www.jianshu.com/p/6e5c0f78200a 一、什么是CocoaPods CocoaPods是iOS项目的依赖管理工具,该项目源码在Github上管理。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出...

lingfeng72
2015/11/09
0
0
CocoaPods安装遇到的问题

--------------- 原文地址:传送门 第一步:sudo gem update --system 如果失败则用这条语句 sudo gem install -n /usr/local/bin cocoapods 如果是最新版的会出现Latest version currently ...

qq_28379951
04/11
0
0
使用 CocoaPods 管理依赖库

文本首发于Ryan’s Zone 本篇内容将介绍Mac和iOS开发中必备的一个依赖库管理工具CocoaPods。 CocoaPods是什么 在iOS开发中势必会用到一些第三方依赖库,比如大家都熟悉的ASIHttpRequest、AFN...

孙启超
2014/04/13
0
0
Mac 安装Homebrew 以及brew update

0、前提"安装CocoaPods 因为最近两天我更换了ssd固态硬盘和重装了 macOS Sierra 10.12系统,需要重新安装cocoaPods Xcode8 macOS Sierra 10.12 安装CocoaPods 我在安装过程pod setup遇到问题...

朝雨晚风
2016/12/20
0
0
使用CocoaPods管理第三方库

DEC 2ND, 2012 前言 每种语言发展到一个阶段,就会出现相应的依赖管理工具, 或者是中央代码仓库。比如 Java: maven,Ivy Ruby: gems Python: pip, easy_install Nodejs: npm 随着iOS开发者的...

泊竹
2013/12/08
0
0
Xcode7.1下用CocoaPods安装Alamofire--swift下的第三方网络库

由于之前网上搜到的Alamofire是1.3版本的。所以安装到Xcode7.1下会报错,所以整理了Alamofire3.1版本用cocoapods安装。方便大家使用。本文适合CocoaPods新手。 在已经安装了CocoaPods的前提下...

啪神
2015/10/30
0
0
CocoaPods详解之----使用篇

一、什么是CocoaPods 1、为什么需要CocoaPods 在进行iOS开发的时候,总免不了使用第三方的开源库,比如SBJson、AFNetworking、Reachability等等。使用这些库的时候通常需要: 下载开源库的源...

Kinkaid
2015/08/21
0
0
使用CocoaPods来做iOS程序的包依赖管理

前言 每种语言发展到一个阶段,就会出现相应的依赖管理工具, 或者是中央代码仓库。比如 Java: maven,Ivy Ruby: gems Python: pip, easy_install Nodejs: npm 随着iOS开发者的增多,业界也出...

龙虾达人
2013/02/25
0
0
CocoaPods安装和使用及问题:Setting up CocoaPods master repo

目录 CocoaPods是什么? 如何下载和安装CocoaPods? 如何使用CocoaPods? 场景1:利用CocoaPods,在项目中导入AFNetworking类库 场景2:如何正确编译运行一个包含CocoPods类库的项目 CocoaP...

whj
2014/03/07
0
1
iOS 最新版的 CocoaPods 安装流程

首先打开终端:(Launchpad-其他-终端)在终端中输入如下指令: 1.移除现有Ruby默认源 $gem sources --remove https://rubygems.org/ 2.使用新的源 $gem sources -a https://ruby.taobao.or...

琳小兮
2016/06/17
0
1

没有更多内容

加载失败,请刷新页面

加载更多

下一页

OSChina 周一乱弹 —— 如果是你喜欢的女同学找你借钱

Osc乱弹歌单(2018)请戳(这里) 【今日歌曲】 @guanglun :分享Michael Learns To Rock的单曲《Fairy Tale》 《Fairy Tale》- Michael Learns To Rock 手机党少年们想听歌,请使劲儿戳(这...

小小编辑
44分钟前
11
3
NNS域名系统之域名竞拍

0x00 前言 其实在官方文档中已经对域名竞拍的过程有详细的描述,感兴趣的可以移步http://doc.neons.name/zh_CN/latest/nns_protocol.html#id30 此处查阅。 我这里主要对轻钱包开发中会用到的...

暖冰
今天
0
0
32.filter表案例 nat表应用 (iptables)

10.15 iptables filter表案例 10.16/10.17/10.18 iptables nat表应用 10.15 iptables filter表案例: ~1. 写一个具体的iptables小案例,需求是把80端口、22端口、21 端口放行。但是,22端口我...

王鑫linux
今天
0
0
shell中的函数&shell中的数组&告警系统需求分析

20.16/20.17 shell中的函数 20.18 shell中的数组 20.19 告警系统需求分析

影夜Linux
今天
0
0
Linux网络基础、Linux防火墙

Linux网络基础 ip addr 命令 :查看网口信息 ifconfig命令:查看网口信息,要比ip addr更明了一些 centos 7默认没安装ifconfig命令,可以使用yum install -y net-tools命令来安装。 ifconfig...

李超小牛子
今天
1
0
[机器学习]回归--Decision Tree Regression

CART决策树又称分类回归树,当数据集的因变量为连续性数值时,该树算法就是一个回归树,可以用叶节点观察的均值作为预测值;当数据集的因变量为离散型数值时,该树算法就是一个分类树,可以很...

wangxuwei
昨天
1
0
Redis做分布式无锁CAS的问题

因为Redis本身是单线程的,具备原子性,所以可以用来做分布式无锁的操作,但会有一点小问题。 public interface OrderService { public String getOrderNo();} public class OrderRe...

算法之名
昨天
11
0
143. Reorder List - LeetCode

Question 143. Reorder List Solution 题目大意:给一个链表,将这个列表分成前后两部分,后半部分反转,再将这两分链表的节点交替连接成一个新的链表 思路 :先将链表分成前后两部分,将后部...

yysue
昨天
1
0
数据结构与算法1

第一个代码,描述一个被称为BankAccount的类,该类模拟了银行中的账户操作。程序建立了一个开户金额,显示金额,存款,取款并显示余额。 主要的知识点联系为类的含义,构造函数,公有和私有。...

沉迷于编程的小菜菜
昨天
1
0
从为什么别的队伍总比你的快说起

在机场候检排队的时候,大多数情况下,别的队伍都要比自己所在的队伍快,并常常懊悔当初怎么没去那个队。 其实,最快的队伍只能有一个,而排队之前并不知道那个队快。所以,如果有六个队伍你...

我是菜鸟我骄傲
昨天
1
0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部