作为iOS开发者,第三方类库的使用是最经常的,但鉴于第三方类库的不断更新以及其可能需要依存其他类,如果要使用最新版那么我们需要重新下载再添加到项目中,无疑带来一些繁琐的麻烦,那么现在这里就有一款能解决这个问题的工具————cocoapods, 类库管理工具。 它使用不是很复杂,只需要几条命令,我们应该要掌握它。

一、配置安装环境

安装开发工具: Xcode    

因为cocoapods需要Ruby环境,你可以借助第三方软件Rvm来更新管理它,首先是安装Rvm,打开Mac终端,输入:  

curl -L http://get.rvm.io | bash -s stable

查看Rvm版本:

rvm -v

加载启用Rvm:

source ~/.rvm/scripts/rvm

安装更高版本的Ruby(系统自带的版本太低),需要一点时间等待:

rvm install 2.0.

如果安装不行,可能是因为Ruby使用的源为cocoapods.org,安装网上建议的换成淘宝的源:

 gem sources --remove http://rubygems.org/
gem sources -a https://ruby.taobao.org/

换好了后可以使用一下命令查看:

gem sources -l

显示结果为:

CURRENT SOURCES            

http://ruby.taobao.org/

安装好之后,查看ruby版本2.0:

ruby -v

设置Ruby 2.0为默认版本:

rvm default 2.0.

二、安装cocoapods   

在终端输入如下安装命令 (在执行pod setup命令时,时间可能有点长,我等了30多分钟,以为是卡在这里了,反复强行结束终端几次,最后没管它,一段时间后看成功了):

 sudo gem install cocoapods
pod setup

三、cocoapods的使用之AFNetworking例

首先,我们可以试下如下命令搜索,看看cocoapods是否支持AFNetworking(是支持的,具体结果我就不贴出来了):

pod search AFNetworking

然后,切换到你需要添加类库的iOS程序文件夹根目录,比如你在桌面建立了一个cocoapodstest01的项目,那么你在终端用cd命令切换到这个文件夹下:

cd /Users/xxx用户名/Desktop/cocoapodsTest01/

建立一个名为Podfile的文件:

vim Podfile

然后再Podfile中输入如下命令(这个命令是开发AFNetworing的作者给你的):

platform :ios, '7.0'
pod "AFNetworking", "~> 2.0"

然后输入如下命令保存退出:

:wq

继续输入命令,利用cocoapods下载AFNetworing类库:

pod install

最终成功的结果输出如下:

EricmatoMacBook-Pro:CocoaPodsDemo ericwang$ pod install
Analyzing dependencies
Downloading dependencies
Installing AFNetworking (2.0.)
Generating Pods project
Integrating client project [!] From now on use `CocoaPodsDemo.xcworkspace`.

这里的结果最后有个 CocoaPodsDemo.xcworkspace文件,我们在桌面的项目文件中,需要打开这个文件,而不是xcodeproj文件,这是你会看到AFNetworing已经成功导入了,你直接引用头文件测试吧!

更新第三方类库,需要切换到Podfile统一目录下,输入如下命令:

pod update

    

  

    

cocoapods 类库管理利器的更多相关文章

  1. OS X第三方类库管理工具cocoapods入门

    一.简介 什么是cocoapods?--是OS X和iOS下一个第三方类库管理工具.通过cocoapods,可以为项目添加"Pods"依赖库,并且管理其版本. cocoapods好 ...

  2. Xcode push带有cocoapods类库的项目到git仓库

    关于git之一点不熟悉,以前公司的项目搭建,版本控制这块,都是有专门的人在做,当然那时候也是用的git项目中也包含了cocoapods类库,当前公司比较闲, 所以研究了下git,用的是git.osch ...

  3. [转]Linux后台进程管理利器:supervisor

    FROM : http://www.liaoxuefeng.com/article/0013738926914703df5e93589a14c19807f0e285194fe84000 Linux后台 ...

  4. CocoaPods:管理Objective-c 程序中各种第三方开源库关联

    在我们的iOS程序中,经常会用到多个第三方的开源库,通常做法是去下载最新版本的开源库,然后拖拽到工程中. 但是,第三方开源库的数量一旦比较多,版本的管理就非常的麻烦.有没有什么办法可以简化对第三方库的 ...

  5. Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET

    Docker&Kubernetes沙龙干货集锦:容器集群管理利器kubernetes详谈-CSDN.NET undefined Package - crawler undefined 科学网- ...

  6. Cocoapods依赖管理

    对于iOS App的开发,几乎都采用了Cocoapods来管理第三方库,那么对于开发人员来说,这是必备技能,必须要掌握如何使用.这篇文章就是介绍如何安装和使用CocoaPods的. 简单来说,就是专门 ...

  7. KVM镜像管理利器-guestfish使用详解

    原文  http://xiaoli110.blog.51cto.com/1724/1568307   KVM镜像管理利器-guestfish使用详解 本文介绍以下内容: 1. 虚拟机镜像挂载及w2k8 ...

  8. linux下远程管理利器-tmux

    linux下远程管理利器-tmux 1.控制键       控制键就是tmux的主键.当你在tmux环境下按下这个键的时候,tmux就会把你后面输入的指令,解析成它内置的功能.tmux默认的控制键是 ...

  9. scribefire 多博客管理利器 安装详解

    scribefire 多博客管理利器 安装详解 一.ScribeFire介绍 ScribeFire 是 Firefox (火狐浏览器)上著名的博客写作工具,目前已跨平台支持多浏览器(Firefox,C ...

随机推荐

  1. python 3.x 安装问题及连接oracle数据库

    最近有用到python去处理一些问题,发现现在3已出来,遂用直接下3.7使用 发现问题还是有一点的 1. pip 会出现ssl问题 Could not install packages due to ...

  2. string中执行sql语句

    Spring(JdbcTemplate.class)中的queryForMap().queryForObject().queryForLong().queryForInt()等方法都会去调用publi ...

  3. 实现一个类似bootstrap的多级下拉菜单

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  4. 035 Search Insert Position 搜索插入位置

    给定一个排序数组和一个目标值,如果在数组中找到目标值则返回索引.如果没有,返回到它将会被按顺序插入的位置.你可以假设在数组中无重复元素.案例 1:输入: [1,3,5,6], 5输出: 2案例 2:输 ...

  5. Java中的continue语句——通过示例学习Java编程(12)

    作者:CHAITANYA SINGH 来源:https://www.koofun.com//pro/kfpostsdetail?kfpostsid=23 continue语句主要是用在循环代码块中.当 ...

  6. a标签嵌套a标签效果的两种解决方案

    <!-- a标签进行嵌套的时候 --> <a href="#outer">outerA <a href="#inner">i ...

  7. [转] eclipce使用vim 开启装逼模式

    原文:http://blog.csdn.net/fatal360/article/details/12321613 1.在eclipse中使用vi模式的插件Vrapper打开eclipse,在Help ...

  8. git版本分支和分支、分支和主分支切换

    问题描述: 公司里项目管理使用的是gitLab(收费的), 如果开发人员提交代码,  需要首先创建一个分支, 然后把代码提交到你创建的分支上去(不允许把代码直接提交到主分支上). 在代码提交到已经创建 ...

  9. 【ros-kinetic iai_kinect2 opencv2 3 】注意事项

    iai_kinect2 :  https://github.com/code-iai/iai_kinect2/tree/master/kinect2_registration kinect2_brid ...

  10. python3基础01(常见语法基础汇总)

    #!/usr/bin/env python# -*- coding:utf-8 -*- # 换行\n 续行\ s[:i] + s[i:] 等于 s#转义 \e 空 \000 八进制 \oyy 十六进制 ...