首先, 不会用cocoapods的话如过你接手某些新项目是用cocoapods写的你会疯, 其次他真的非常好用, 当然某些坑也是存在的,比方你用它导入了AFNetwork然后你须要改动一些AF的内部的代码以适应你项目的特殊需求,这时候cocoapods就会报错, 报错, 报错…

OK,以下步入正题

在安装CocoaPods之前,首先要在本地安装好Ruby环境。

MAC系统自带ruby环境可是某些老旧机型可能ruby版本号过低会报错,只是更新一下就好,而安装ruby须要RVM .

步骤0 - 准备工作

首先须要切换到淘宝镜像服务器不然以下各个步奏会异常的卡顿(假设你以前切换过能够查询出来)

查询:

$ gem sources -l

假设输出:

*** CURRENT SOURCES ***

http://ruby.taobao.org/

则已经切换成功, 不然就:

$ gem sources --remove https://rubygems.org/
//等有反应之后再敲入以下命令
$ gem sources -a http://ruby.taobao.org/

结束后,然后再次:

$ gem sources -l

假设输出:

*** CURRENT SOURCES ***

http://ruby.taobao.org/

OK准备工作结束.

步骤1 - 安装 RVM

RVM 是干什么的这里就不解释了,后面你将会慢慢搞明确。使用官方推荐的方法安装:

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

  

期间可能会问你sudo管理员password,以及自己主动通过homebrew安装依赖包。等待一段时间后就能够安装成功好 RVM。

然后,加载 RVM 环境(新开 Termal 就不用这么做了,会自己主动又一次加载的)

$ source ~/.rvm/scripts/rvm

 

检查一下是否安装正确

$ rvm -v

会输出:

rvm 1.26.11 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

  

步骤2 - 用 RVM 安装 Ruby 环境

$ rvm install 2.0.0

 

相同继续等待漫长的下载,编译过程,完毕以后,Ruby, Ruby Gems 就安装好了。

步骤3 - 设置 Ruby 版本号

RVM 装好以后,须要运行以下的命令将指定版本号的 Ruby 设置为系统默认版本号

$ rvm 2.0.0 --default

相同,也能够用其它版本号号,前提是你实用 rvm install 安装过那个版本号

这个时候你能够測试是否正确

$ ruby -v
    ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin13.0.0]
    $ gem -v
    2.1.6

步骤4 - 安装cocoapods(第四步才是正题, ⊙﹏⊙b汗)

$ sudo gem install cocoapods

会显示:

nizege:~ chenenze$ sudo gem install cocoapods
Password:
Fetching: i18n-0.7.0.gem (100%)
Successfully installed i18n-0.7.0
Fetching: thread_safe-0.3.5.gem (100%)
Successfully installed thread_safe-0.3.5
Fetching: tzinfo-1.2.2.gem (100%)
...
最后:
19 gems installed

就安装完了.

这时你能够

$pod search AFNetworking

来检測一下

假设:

-> AFNetworking (2.5.4)
A delightful iOS and OS X networking framework.
pod 'AFNetworking', '~> 2.5.4'
- Homepage: https://github.com/AFNetworking/AFNetworking
- Source: https://github.com/AFNetworking/AFNetworking.git
- Versions: 2.5.4, 2.5.3, 2.5.2, 2.5.1, 2.5.0, 2.4.1, 2.4.0, 2.3.1, 2.3.0, 2.2.4,
2.2.3, 2.2.2, 2.2.1, 2.2.0, 2.1.0, 2.0.3, 2.0.2, 2.0.1, 2.0.0, 2.0.0-RC3, 2.0.0-RC2,
2.0.0-RC1, 1.3.4, 1.3.3, 1.3.2, 1.3.1, 1.3.0, 1.2.1, 1.2.0, 1.1.0, 1.0.1, 1.0, 1.0RC3,
1.0RC2, 1.0RC1, 0.10.1, 0.10.0, 0.9.2, 0.9.1, 0.9.0, 0.7.0, 0.5.1 [master repo]
- Subspecs:
- AFNetworking/Serialization (2.5.4)
- AFNetworking/Security (2.5.4)
- AFNetworking/Reachability (2.5.4)
- AFNetworking/NSURLConnection (2.5.4)

就说明成功了.

$which pod

输出

/usr/bin/pod

这样也能够检測是否安装成功.

使用篇:

首先创建一个X-code项目,先起名为CocoaPodsDemo(以将项目创建到桌面为例)

打开终端

$cd Desktop
$cd CocoaPodsDemo

进入x-codeproject目录后

$ls

发现里面仅仅有三个x-code文件,如今须要创建Podfile文件, Podfile是什么?你能够理解为这是CocoaPods的配置文件,CocoaPods依据这个文件的记载去加载你所须要的第三方类库以及选择适合目标平台的版本号来安装

创建Podfile文件:

$touch Podfile

编辑他(两种方式):

$open -e Podfile

或者:

$vi Podfile

在打开的文件中输入(这里装的是融云IMKit)

platform :ios, '8.4'
pod 'RongCloudIMKit'
pod 'MBProgressHUD', '~> 0.8'

第二行写的是须要安装的第三方库清单, 多个的话换行继续写, 不谢逗号后面的 默认安装最新版 一个一个的排(注意:引號等标点必须写对不然会报错!!!)

然后保存关闭第一种编辑方式直接command+s另外一种:

:wq

然后运行:

$pod install

第一次安装会看到以下这句话卡住了非常久

Setting up CocoaPods master repo

不要着急。其它他正在下载,我第一次用时也以为是卡了。但事实上并没有,心急的哥们能够:

右键新建窗体

$cd ~/.cocoapods/
$du -sh *

会显示下载了多少哦,着急的话就隔几秒du -sh一下吧

6、安装完毕

[!] From now on use xxxxxxxxxxxxx.xcworkspace.

Cocoapods会在你的项目目录中创建一堆新文件,但你主须要关心后缀为.xcworkspace的文件,用Xcode打开。

如今有一个Pods项目在你的项目工作区,以及在Pods目录放着每个你引入的库.

删除篇:

删除项目中已经配置的类库

和(一)相似,我们首先新建一个名为CocoaPodsDemo的项目,然后cd到项目目录下新建一个Podfile文件,并编写该文件,内容例如以下:

platform:ios, '7.0'  pod 'AFNetworking', '~> 2.1.0'
pod 'JSONKit', '~> 1.5pre'
pod 'MBProgressHUD', '~> 0.8'

相比(一),我们将要增加的JSONKit的版本号从1.1升级到1.5 preview版。

然后pod install,能够看到安装是成功的。

打开CocoaPodsDemo.xcworkspace文件。编译一下,会出现报错:

原因是JSONKit类库出现了各种各样的问题。

这个时候。我们非常自然想到要删掉这个类库,然后尝试使用低版本号的JSONKit(这也是我在(一)中为什么用1.1作为演示样例的原因)。

方法:

1.打开Podfile文件,删除JSONKit该行,即:

platform:ios, '7.0'
pod 'AFNetworking', '~> 2.1.0'
pod 'JSONKit', '~> 1.5pre'(删除该行)
pod 'MBProgressHUD', '~> 0.8'

(假设想换成1.1版本号,将被删除的行改成pod ‘JSONKit-NoWarning’, ‘~> 1.1’就可以)

2.cd到当前项目目录下。又一次运行pod install命令。输出信息例如以下(留意Removing JSONKit):

$ pod installAnalyzing dependenciesRemoving JSONKitDownloading dependenciesUsing AFNetworking (2.1.0)Using MBProgressHUD (0.8)Generating Pods projectIntegrating client project

3.又一次打开xcworkspace文件,能够看到JSONKit被移除,再次编译将会通过:

在项目中移除CocoaPods

假设你认为CocoaPods让你的项目出现了问题,不好用甚至是恶心,想将其从项目中彻底移除,也有方法:

1.删除project目录下的Podfile、Podfile.lock和Pods目录。

2.删除xcworkspace文件。

3.打开xcodeproj文件。删除项目中的libpods.a和Pods.xcconfig引用:

4.打开Build Phases选项。删除Check Pods Manifest.lock和Copy Pods Resources:

完毕,编译运行,无错通过。

个人感觉,从项目中移除某个类库还算是能够的。可是移除整个CocoaPods就有点麻烦了(也可能是我没有找对方法)。希望CocoaPods能作出改进。

另外。假设在编辑project时不小心删除了某个文件,如Podfile.lock,那么我们就要用上面的方法先移除整个CocoaPods,然后又一次建立Podfile和使用pod install命令重装CocoaPods(有够麻烦的)。

             

參考:

http://www.netfoucs.com/article/u010962810/66727.html

http://blog.sina.com.cn/s/blog_7008c3140101hrh7.html

http://www.tuicool.com/articles/iaqU3im

cocoapods的安装,使用,卸载,以及你可能会遇到的坑..的更多相关文章

  1. CocoaPods的 安装 /卸载/升级

    CocoaPods用来管理第三方框架 Mac 安装 Cocoapods 导引如果你的 Mac OSX 升级到 10.11.x+, 并且需要安装 Cocoapods, 可以参考本博客.安装 rubyMa ...

  2. CocoaPods安装、卸载、使用说明(Mac ox 10.11+)

    一.全新安装前,先检查是否有安装残留 由于Mac 10.11更改了安全机制,所以cocoapods得安装和卸载命令也有所改变, 1.如果之前装过cocopods,最好先卸载掉,卸载命令: $ sudo ...

  3. Cocoapods的安装,卸载和使用

    [一]Cocoapods的安装 (1)Cocoapods的官方网站为: https://cocoapods.org/ .如果你的电脑已经安装了Ruby开发环境,那么在终端(Terminal)中使用以下 ...

  4. 安装、卸载 cocoapods

    卸载cocoapods: localhost:~ je$ sudo gem uninstall cocoapods Remove executables: pod, sandbox-pod in ad ...

  5. iOS 最新版 CocoaPods 的安装使用

    当在开发iOS应用时,会经常使用到很多的第三方开源类库,一般的方法是直接从GitHub下载,然后拖到项目中使用,如果该开源类库不依赖其他的类库,就可以直接使用:如果该开源类库还依赖一些其他的类库,则需 ...

  6. 笔谈 cocoapods的安装与使用

    因为要重构播放器库,所以就需要参考网上的开源项目,在播放器开源项目这块,kxmovie开源项目是值得参考的一个项目.在github下载下来后,运行该工程,发现其用到了cocoapods来管理第三方库, ...

  7. OS10.11系统下 安装cocoapods 以及 安装cocoapods-xcode-plugin-master插件来加载三方框架

    http://www.cnblogs.com/cheng923181/p/4883476.html OS10.11系统下 安装cocoapods 以及 安装cocoapods-xcode-plugin ...

  8. 【原】iOS学习46之第三方CocoaPods的安装和使用(通用方法)

    本文主要说明CocoaPods的安装步骤.使用说明和常见的报错即解决方法. 1. CocoaPods 1>  CocoaPods简介 CocoaPods是一个用来帮助我们管理第三方依赖库的工具. ...

  9. Linux下软件安装,卸载,管理

    一. 软件安装包的类型 通常Linux应用软件的安装有五种: 1) tar+ gz包,如software-1.2.3-1.tar.gz.     他是使用UNIX系统的打包工具tar打包的. 2) r ...

随机推荐

  1. SKU和SPU表的设计

    1.什么是SKU,SPU SKU:Stock Keeping Unit (库存量单位)SKU即库存进出计量的单位,可以是以件.盒.托盘等为单位,是物理上不可分割的最小存货单元.在使用时要根据不同业态, ...

  2. React diff机制(介绍虚拟DOM的机制)

    https://segmentfault.com/a/1190000004003055

  3. nessus 漏洞扫描安装和使用

    介绍 Nessus 是目前全世界最多人使用的系统漏洞扫描与分析软件.总共有超过75,000个机构使用Nessus 作为扫描该机构电脑系统的软件.  软件特色 * 提供完整的电脑漏洞扫描服务, 并随时更 ...

  4. salt 安装kubernetes集群3节点

    [root@linux-node1 k8s]# tree .├── etcd.sls├── files│   ├── cfssl-1.2│   │   ├── cfssl-certinfo_linux ...

  5. PNG文件结构分析

    http://blog.163.com/iwait2012@126/blog/static/16947232820124411174877/ PNG文件结构分析 对于一个PNG文件来说,其文件头总是由 ...

  6. HDU——T 2444 The Accomodation of Students

    http://acm.hdu.edu.cn/showproblem.php?pid=2444 Time Limit: 5000/1000 MS (Java/Others)    Memory Limi ...

  7. [MST] Describe Your Application Domain Using mobx-state-tree(MST) Models

    In this lesson, we introduce the running example of this course, a wishlist app. We will take a look ...

  8. Step by Step Do IOS Swift CoreData Simple Demo

    简单介绍 这篇文章记录了在 IOS 中使用 Swift 操作 CoreData 的一些基础性内容,因为缺乏文档,基本上都是自行实验的结果.错漏不可避免,还请谅解. 部分内容借鉴了 Tim Roadle ...

  9. [leetcode][math] Add Digits

    题目: Given a non-negative integer num, repeatedly add all its digits until the result has only one di ...

  10. HTML5 内联 SVG

    SVG 指可伸缩矢量图形 (Scalable Vector Graphics) SVG 用于定义用于网络的基于矢量的图形 SVG 使用 XML 格式定义图形 SVG 图像在放大或改变尺寸的情况下其图形 ...