关于Pods的整理

原创 2015年11月17日 16:59:18

      一直以来对于cocoa Pods。总是有一种看起来很简单,但是遇到很多问题。现在我想好好整理一下,最初始的关于Pods的问题。

     最新的安装Pods的方法:

CocoaPods是iOS最常用的第三方类库管理工具,绝大部分有名的开源类库都支持CocoaPods。

CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境。幸运的是OS X系统默认已经可以运行Ruby了,因此我们只需执行以下命令:

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

由于某些原因,执行时会出现下面的错误提示:

ERROR:  Could not find a valid gem 'cocoapods' (>= 0), here is why:
          Unable to download data from https://rubygems.org/ - Errno::EPIPE: Broken pipe - SSL_connect (https://rubygems.org/latest_specs.4.8.gz)

当你使用代理后如果还是很慢,可以用淘宝的RubyGems镜像来代替官方版本,执行以下命令:

$ gem sources -l
$ gem sources --remove https://ruby.taobao.org/
$ gem sources -a https://gems.ruby-china.org/
$ gem sources -l

淘宝镜像无法使用了,使用最新支持的ruby镜像(https://gems.ruby-china.org/)

安装成功后,接着执行命令:

pod setup

如果Ruby环境不够新,可能需要更新以下:

sudo gem update --system

至此安装就完成了,我们可以尝试搜索一个第三方类库:

pod search AFNetworking

使用CocoaPods的第一步,是在当前项目下,新建一个Podfile文件:

touch Podfile

然后利用vim打开Podfile文件编辑,加入你想要使用的类库,格式如下:

platform :ios
pod 'Reachability', '3.1.0'

platform:ios, '6.0'
pod 'JSONKit','1.4'
pod 'AFNetworking', '~> 2.3.1'

如果是拷贝的别人的项目,或是一个很久没打开过的项目,可能需要先执行一下:

pod update

最后一步,执行命令:

pod install

当终端出现类似下面的提示后,就代表成功了:

[!] From now on use `Sample0814.xcworkspace`.

这个时候会看到项目文件夹下多了一个文件xxx.xcworkspace,以后要通过这个文件打开项目,老项目文件xxx.xcodeproj不再使用。

 

P.s.1 上面的每一步都有可能出现问题,但大部分问题都是因为大局域网的原因,用一个网速稳定的境外VPN可破。

 

P.s.2 如果上面因为权限问题安装失败,必须每次都要删除

rm -rf /Users/loginnanme/Library/Caches/CocoaPods/

因为这个缓存中会存下你的github的东西,造成每次都调用上次权限问题的缓存。

 

P.s.3 关于Podfile文件编辑时,第三方库版本号的各种写法:

复制代码
pod ‘AFNetworking’      //不显式指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’,  ‘2.0’     //只使用2.0版本
pod ‘AFNetworking’, ‘>2.0′     //使用高于2.0的版本
pod ‘AFNetworking’, ‘>=2.0′     //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘<2.0′     //使用小于2.0的版本
pod ‘AFNetworking’, ‘<=2.0′     //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~>0.1.2′     //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
pod ‘AFNetworking’, ‘~>0.1′     //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0′     //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
复制代码
这是别人写的一个博客,写的很好的,但是就是编辑podfile文件的时候,使用vim。不清楚过程。网上找到了一个比较详细的另外的文章,这边写在这里。以防链接失效。

需要在工程中创建一个Podfile文件,

使用命令:

$cd /Users/shiyunlei/Desktop/CocoapodsSample(进入工程目录,cd后面的是工程的路径)

$ touch Podfile(创建Podfile文件)

技术分享

 

然后使用vim编辑Podfile文件,使用命令:

$ vim Podfile
进入如下界面

技术分享

 

然后紧接着按键盘上的“i”键,变成如下状态,这个时候可以对Podfile文件进行编辑:

$platform:ios, ‘7.0‘

$ pod ‘AFNetworking‘, ‘~> 2.3.1‘

在编辑完成后按“esc”,

技术分享

 

在按“:”,这个时候输入wq,点击回车,保存并退出。

技术分享

 

这个时候打开Podfile文件就会看到里面添加了刚才在终端输入的一行语句,如下图

技术分享

 

然后在终端输入命令安装相应的第三方类库

$pod install

技术分享

 

因为这个过程需要下载相应的类库,所以时间和网速有关。

安装成功之后截图如下:

技术分享

 

这个时候会看到之后打开工程都需要从类型为工程名.xcworkspace文件打开。

技术分享


以上的已经非常完整的显示如何给一个新项目使用pod。那么对于已经使用pod的旧项目呢。该如何对pod进行更改呢。
原则上就是cd 项目文件路径,然后pod update。注意如果提示找不到改命令,就是因为你没有安装pod。需要重新安装,然后才可以执行pod的一系列命令和操作。

CocoaPods specs的镜像索引

在使用cocoapods进行update或者install的时候,会去更新获取pod specs。
所有的项目的podspec文件都托管在https://github.com/CocoaPods/Specs上。
第一次执行pod setup时,cocoapods会将这些podspec索引文件更新到本地的 ~/。cocoapods/目录下,
这个索引文件比较大,国内网络的问题,更新非常慢。

网上一个博主http://akinliu.github.io/2014/05/03/cocoapods-specs-/ ,对github上的specs仓库进行了镜像,
是每10分钟进行同步一次,基本和主仓库保持一致。
gitcafe和oschina都是国内服务器,在执行索引更新操作时,快很多。

使用方法:
pod repo remove master
pod repo add master https://gitcafe.com/akuandev/Specs.git
pod repo update

如果想用oschina的镜像,可以把第二条命令的地址换成oschina的即可。
pod repo add master http://git.oschina.net/akuandev/Specs.git

如果在pod install、或者pod update时,不想升级specs库,可以增加忽略参数
pod install --no-repo-update
pod update --no-repo-update

以上基本是初步使用pods的方法。使用期间遇到的关于pod的问题,会另外写一篇文字,记录。

OSChina代码仓库push不上Pods文件夹的问题解决

OSChina的代码库如果选择了.gitignore文件的话,默认会把Pods文件夹也忽略掉,那如果把代码clone到别的地方,Pods文件夹里面的第三方框架不就用不了了嘛,所以需要改一下.gitig...
  • cuin123
  • cuin123
  • 2015年11月23日 11:58
  • 942

iOS开发~CocoaPods使用详细说明

一、概要 iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库(从一个坑出来,...
  • daiyelang
  • daiyelang
  • 2016年06月27日 10:43
  • 36254

iOS开发~CocoaPods使用说明和扩展

CocoaPods的详细安装、使用和更新、删除第三方库
  • Future_One
  • Future_One
  • 2017年03月27日 20:16
  • 1111

iOS程序的Build过程

转自:http://beyondvincent.com/blog/2013/11/21/123-build-process/ 注1:本文由破船译自The Build Process。 ...
  • xdesigner
  • xdesigner
  • 2014年01月13日 11:17
  • 2044

Ios项目添加Pods

一、概要 iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库。 ...
  • lilinoscar
  • lilinoscar
  • 2015年07月17日 17:27
  • 10819

cocoapods安装与管理

当遇到  WARNING: CocoaPods requires your terminal to be using UTF-8 encoding. 错误时,WARNING的意思是你的终端的编码不是U...
  • Tracy_dwb
  • Tracy_dwb
  • 2014年10月16日 12:28
  • 923

Cocoapods 的安装、使用及其配置

原文地址:http://joehill.me/2015/08/10/2015-08-10-Cocoapods/ 项目中有第三方库? 不用 Cocoapods 真是你的损失呐。 ...
  • tianxiawuzhei
  • tianxiawuzhei
  • 2016年03月03日 15:34
  • 3089

CocoaPods 的安装步骤及常用终端命令

CocoaPods 的安装步骤及常用终端命令
  • yuner1029
  • yuner1029
  • 2016年02月27日 22:00
  • 1732

读源码系列----MBProgressHUD(加载等待框)

http://blog.csdn.net/xunyn/article/details/8217136 阅读本文前,请先去下载源代码(传送门) MBProgressHUD是一个i...
  • whgggg
  • whgggg
  • 2013年07月05日 09:16
  • 688

创建私有Pods

前言 骚年,你听说过组件化吗?没有?但你一定玩过乐高玩具,乐高玩具本身一个庞大的模型却是依靠无数个各自分工的基础模块构建而成!同理,随着项业务的增长,项目也必然越来越庞大。此时,为了更好地管理我...
  • qq_26918391
  • qq_26918391
  • 2017年08月10日 10:47
  • 69
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:关于Pods的整理
举报原因:
原因补充:

(最多只允许输入30个字)