一:CocoaPods是什么?

当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要 CocoaPods。

CocoaPods应该是iOS最常用最有名的类库管理工具了,上述两个烦人的问题,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。

二:CocoaPods安装和使用

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

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

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镜像来代替官方版本,执行以下命令:

1、gem sources --remove https://rubygems.org/

2、gem sources -a https://ruby.taobao.org/

3、运行命令:gem sources -l 查看当前的Ruby镜像,如果显示是taobao.org就可以了

4、安装cocosPod:执行 sudo gem install cocoa pods 输入管理员密码后安装。

5、最后显示提示:gem installed 表示安装完成

6、安装成功后,接着执行命令:pod setup

提示:Setting up CocoaPods master repo

7、如果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

注意:使用pod install导致终端提示:一直显示Updating local specs repositories

更新安装 pod install --verbose --no-repo-update 代替pod install命令即可。

pod update --verbose --no-repo-update 代替pod update命令即可。

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

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

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

注意事项1:

pod setup命令执行后原理是将Spec项目复制到当前用户的.cocoapods\master目录下,以后的查找、安装使用都是基于该本地目录的.  也就是说如果我们项目较旧了,如果在使用cocospod进行pod search 或者pod install 的时候你会发现找到的第三方库还是比较旧的版本,并不是gitHub中最新的版本,那么如何能够pod search 到最新版本并安装pod install呢?就要现在你执行pod search 之前先跟新本地目录库 使用pod setup 命令.

注意事项2:

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

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

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

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

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的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本

pod操作指令:

总结下cocopods的安装的更多相关文章

  1. [Swift通天遁地]七、数据与安全-(3)Cocopods的安装和开源类库对JSON的解析

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  2. Linux下命令行安装weblogic10.3.6

    Linux下命令行安装weblogic10.3.6 一.安装前准备工作: 1.创建用户useradd weblogic;创建用户成功linux系统会自动创建一个和用户名相同的分组,并将该用户分到改组中 ...

  3. Ubuntu下git的安装与使用

    Ubuntu下git的安装与使用 Ubuntu下git的安装与使用与Windows下的大致相同,只不过个人感觉在Ubuntu下使用git更方便. 首先,确认你的系统是否已安装git,可以通过git指令 ...

  4. centos7下使用yum安装mysql

    CentOS7的yum源中默认好像是没有mysql的.为了解决这个问题,我们要先下载mysql的repo源. 1. 下载mysql的repo源 wget http://repo.mysql.com/m ...

  5. win7下IIS的安装和配置 图文教程

    转自   http://www.jb51.net/article/29787.htm 最近工作需要IIS,自己的电脑又是Windows7系统,找了下安装的方法,已经安装成功.在博客里记录一下,给需要的 ...

  6. Linux下MongoDB服务安装

    Linux下MongoDB服务安装 MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案.MongoDB是一个介于关系数据库和非关系数据 ...

  7. centos 6x系统下源码安装mysql操作记录

    在运维工作中经常部署各种运维环境,涉及mysql数据库的安装也是时常需要的.mysql数据库安装可以选择yum在线安装,但是这种安装的mysql一般是系统自带的,版本方面可能跟需求不太匹配.可以通过源 ...

  8. CentOS下SNMP的安装与使用

    CentOS下SNMP的安装与使用   导读 简单网络管理协议(SNMP),由一组网络管理的标准组成,包含一个应用层协议(application layer protocol).数据库模型(datab ...

  9. Python:Pycharm下无法导入安装好的第三方模块?

    Pycharm下无法导入安装好的第三方模块requests? 在cmd下使用pip安装好requests模块后,可以使用import requests,但在Pycharm IDE下无法导入,出现如下错 ...

随机推荐

  1. R 安装与环境配置

    R语言是一种很方便的应用于科学计算的语言,推荐给大家学习. 由于R的版本对程序包的兼容有些问题,推荐使用2.15.3. 下面给出下载链接,安装一路默认即可,可以自己更存放目录,其他的都没有影响.下面是 ...

  2. Java中实现异常处理的基础知识

    Java中实现异常处理的基础知识 异常 (Exception):发生于程序执行期间,表明出现了一个非法的运行状况.许多JDK中的方法在检测到非法情况时,都会抛出一个异常对象. 例如:数组越界和被0除. ...

  3. 黑马程序员——有关protocol代理模式的举例说明

    学习了protocol协议的基本原理和使用方法之后 ,下面就看一下在程序中是怎么体现这种代理思想的. 假定有个人jack需要找一个厨师为自己做饭,当他想要吃饭的时候就可以让厨师给他做好饭.这一需求如何 ...

  4. 本地虚拟机挂载windows共享目录搭建开发环境

    关闭防火墙(本地环境 直接关掉即可)service iptables stop检查是否安装了需要的samba软件包rpm –q samba如果没安装yum install samba system-c ...

  5. 上传控件swfupload的使用笔记

    1.下载下来的官方domo里不同的例子里会引入各自的JS,注意区分.可以直接拿官方例子来改成自己想要的例子. 2.注意PHP配置文件里也有最大上传文件限制,如果文件太大会上传不成功. 3.如果有问题可 ...

  6. PySpark操作HBase时设置scan参数

    在用PySpark操作HBase时默认是scan操作,通常情况下我们希望加上rowkey指定范围,即只获取一部分数据参加运算.翻遍了spark的python相关文档,搜遍了google和stackov ...

  7. wijmo

    wijmo-5官网 Samples Forums Demos 1.当FlexGrid的单元格中文本过长时显示Tooltip 参考1:angular flexGrid tooltip on every ...

  8. 在linnux下,配置自动备份oacle

    以oracle身份登录到linux,在oracle home目录下创建目录 shell $ mkdir shell 创建自动备份脚本 $ cd shell $ touch expdp.sh $ chm ...

  9. QueryInterface

    QueryInterface IUnknown *p2; hr = pInnerUnknown->QueryInterface(vGUID2, (void**)&p2); IUnknow ...

  10. 解决SQLServer2008 Express远程连接出错的问题[Error: 1326错误]

    sqlserver2008 Express版本默认是只能本机测试连接,不能被其他客户端访问,原因是因为Express版本的数据库被连接默认的TCP/IP监听是被关闭的,我们可以做一些设置实现我们的远程 ...