iOS CocoaPods安装和使用图解
Cocoapods安装步骤
1.升级Ruby环境
sudo gem update --system
如果Ruby没有安装,请参考 如何在Mac OS X上安装 Ruby运行环境
2.安装CocoaPods时我们要访问cocoapods.org,用淘宝的RubyGems镜像来代替官方版本,执行以下命令:
$ gem sources --remove https://rubygems.org/
//等有反应之后再敲入以下命令
$ gem sources -a https://ruby.taobao.org/
为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:
$ gem sources -l
只有在终端中出现下面文字才表明你上面的命令是成功的:
*** CURRENT SOURCES *** http://ruby.taobao.org/

上面的命令,有时试了会没有效,请参考淘宝网的https://ruby.taobao.org
$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/
$ gem sources -l
*** CURRENT SOURCES *** https://ruby.taobao.org
# 请确保只有 ruby.taobao.org
$ gem install rails
3. 10.11把cocoapods直接干掉了
sudo gem install -n /usr/local/bin cocoapods
再加一句,完美解决
sudo xcode-select --switch /Applications/Xcode.app
新的问题来了。你会发现报错:
Error installing cocoapods: activesupport requires Ruby version >= 2.2.2.
解决方法:
3.1 安装 RVM baby 版本管理器
$ curl -L get.rvm.io | bash -s stable
3.2 安装完成,执行
$ source ~/.bashrc
$ source ~/.bash_profile
3.3 测试是否安装正常
$ rvm -v
提示以下
rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
3.4 用RVM升级Ruby查看当前ruby版本
$ ruby -v
$ rvm list known
会看到:

3.5 安装ruby 2.2.2 执行
$ rvm install 2.2.
安装完成:

3.6 查看ruby -v 版本,打出输出
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
好了,接下来,继续安装CocoaPods
sudo gem install -n /usr/local/bin cocoapods
再加一句,完美解决
sudo xcode-select --switch /Applications/Xcode.app
4. 在终端中输入如下命令来完成安装:
//将 CocoaPods Specs repository复制到你电脑上~/.cocoapods目录下
pod setup
它需要一点时间来完成,你等就是了
如果安装失败 ~/.cocoapods 里面是空的,就需要重新setup
命令如下:
pod repo remove master
pod setup
完毕之后这个文件夹大概有 100多M,需要花费比较多时间,请耐心等待。
到这里你已经成功安装了CocoaPods
当然,要是pod setup 失败,可以试试下面的方法:
1.访问 https://github.com/CocoaPods/Specs,然后将Specs项目fork到自己的github账户上
2. 下载GitHub Desktop, 然后clone Specs项目。
3. 将clone的Specs项目的文件夹改名为master,然后拖到/Users/用户名/.cocoapods/repos目录下。
4. 运行pod setup解释:pod setup的本质就是将https://github.com/CocoaPods/Specs上的Specs项目clone到/Users/用户名/.cocoapods/repos目录下。若此目录下已有Specs项目,则会将项目更新到最新的状态。由于Specs很大,容易导致pod setup失败。这时就需要我们手动安装Specs。若直接从github上下载zip文件,由于缺少git文件,会导致cocoa pods不使用。若用git clone,由于文件过大,容易导致失败。但是使用GitHub Desktop软件,则会提高clone的成功率,并且会给出clone的进度。
或者通过命令:
$ pod repo remove master
$ git clone https://github.com/CocoaPods/Specs.git ~/.cocoapods/repos/master
$ pod repo update
Cocoapods使用
1.使用search命令搜索类库名
$ pod search AFNetworking
得到结果如下图:

从这个图上,我们看到AFN有好多版本,最新的版本是2.6.0.
2.打开xcode,新建一个工程,工程名为CocoapodsSample。
使用命令cd,cd后面跟的是工程目录名,可以直接拉进来,

回车后,输入命令创建Podfile文件
$ touch Podfile

我们可以看到,在根目录下,多了一个Podfile文件

3.使用vim编辑podfile文件,使用命令
$ vim Podfile
然后在Podfile文件中输入以下文字:
platform :ios, '7.0'
pod "AFNetworking", "2.5.0"
这两句文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 7.0, 要下载的AFNetworking版本是2.5.0。
在编辑完后按 esc,然后按":",这个时候输入wq保存退出。

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

4.这时候,你就可以利用CocoPods下载AFNetworking类库了。还是在终端中的当前项目目录下,运行以下命令:
$ pod install
安装成功后,如下图:

这个时候,会看到多了一个.xcworkspace工程,以后打开项目就用 CocoapodsSample.xcworkspace 打开,而不是之前的.xcodeproj文件。

5.打开 CocoapodsSample.xcworkspace 工程,你会惊喜地发现,AFNetwoking已经成功导入项目了。
现在,你就可以开始使用AFNetworking.h啦。可以稍微测试一下,在你的项目任意代码文件中输入:
#import <AFNetworking.h>
或者
#import "AFNetworking.h"
然后编译,看看是否出错。如果你严格按照小编上述的步骤来,是不可能出错的啦。

另:
如果有一些包已经存在了,或者我们更改了Podfile里面的版本,可以使用以下命令更新
$ pod update
关于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的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本
参考资料:
iOS CocoaPods安装和使用图解的更多相关文章
- iOS CocoaPods安装与使用
1.MAC安装Ruby环境 1> 安装RVM 控制台命令:$curl –L https://get.rvm.io | bash –s stable $source ~/.rvm/scripts ...
- iOS CocoaPods安装与使用 好东西保存
http://www.cnblogs.com/daguo/p/4097263.html http://www.cnblogs.com/pican/p/3939941.html?utm_source=t ...
- iOS 之 Cocoapods安装
进入正题前,先来点前奏:了解cocoapods是某天看一个博客,那时才明白原来写项目不用一个个将三方库拷进项目里啊,惊讶的我是一塌糊涂的啊...(原谅我那时还没进入过正规的IT公司....好多你们自然 ...
- IOS开发之开篇--CocoaPods安装
CocoaPods是什么?当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等.可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其 ...
- iOS开展-CocoaPods安装和使用教程
原文链接: iOS开展-CocoaPods安装和使用教程 修正已经增加了自己的理解. CocoaPods安装和使用教程 Code4App 原创文章.转载请注明出处:http://code4app.co ...
- iOS开发 - CocoaPods安装和使用教程
一.CocoaPods简介 1.什么是CocoaPods CocoaPods是iOS的包管理工具. 2.为什么要使用CocoaPods 在开发iOS项目时,经常会使用第三方开源库,手动引入流程复杂,并 ...
- iOS之Cocoapods安装
网上关于cocoapods的教程很多,关于它的优点我不赘述:但是我根据多次安装的经验,把我遇到的问题写一下,希望对新手有所帮助. 1. 设置输入源(由于默认的gem资源是国外的,由于历史原因,访问比较 ...
- iOS工具】rvm、Ruby环境和CocoaPods安装使用及相关报错问题解决
〇.前言 <p>在iOS开发中 CocoaPods作为库依赖管理工具就是一把利器. 有了 CocoaPods则无需再通过拖 第三方库及第三方库所依赖的 framework静态库到项目中等麻 ...
- 【iOS】安装 CocoaPods
1. 打开 terminal 2. 移除现有 Ruby 默认源 $ gem sources --remove https://rubygems.org/ 3. 使用新的源 $ gem sources ...
随机推荐
- Chapter12&Chapter13:程序实例
文本查询程序 要求:程序允许用户在一个给定文件中查询单词.查询结果是单词在文件中出现的次数及所在行的列表.如果一个单词在一行中出现多次,此行只列出一次. 对要求的分析: 1.读入文件,必须记住单词出现 ...
- WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0x80000002. Windows RegCreateKeyEx(...) returned error code 5
以下是我的程序(取自headfirst Java): import javax.sound.midi.*; public class MiniMiniMusicApp { public static ...
- SQL存儲過程的調試方法
1.在vs2010调试存储过程步骤如下:(要點:連接登陸賬號的權限必須是管理員,才能單步調試,否則只能直接執行存儲過程:[因此,此方式適合數據庫和vs裝在同一台電腦上]) 1.1首先,打开vs,点击 ...
- asp.net mvc 使用Ajax
使用asp.net mvc 调用Action方法很简单. 一.无参数方法. 1.首先,引入jquery-1.5.1.min.js 脚本,根据版本不同大家自行选择. <script src=&qu ...
- 基于Linux2.6内核的加密容器法保护文件方法
本文出自 "李晨光原创技术博客" 博客,谢绝转载!
- 借助LVS+Keepalived实现负载均衡(转)
原文:http://www.cnblogs.com/edisonchou/p/4281978.html 一.负载均衡:必不可少的基础手段 1.1 找更多的牛来拉车吧 当前大多数的互联网系统都使用了服务 ...
- HTTP中缓存相关
1.客户端如何区分缓存命中和未命中 两种情况下,返回的状态码都是200,客户端有一个方法可以判断,就是使用Date首部,将Date首部与当前时间进行比较,如果响应中时间日期值比较早,客户端可以认为这是 ...
- STL学习系列八:Set和multiset容器
1.set/multiset的简介 set是一个集合容器,其中所包含的元素是唯一的,集合中的元素按一定的顺序排列.元素插入过程是按排序规则插入,所以不能指定插入位置. set采用红黑树变体的数据结构实 ...
- JQ的each
写法一:遍历JSON数据 $.each(JSON.parse("{" + msg.d + "}"), function (key, name) { //处理得到 ...
- Window服务初级教程以及log4net配置文件初始化
Window服务初级教程:http://www.jb51.net/article/48987.htm 另外,配置log4net这个日志功能的时候需要初始化,不然会报没有初始化的错误,而且初始化的节点应 ...