iOS安装CocoaPods详细过程

 一、简介
  • 什么是CocoaPods

CocoaPods是OS X和iOS下的一个第三类库管理工具,通过CocoaPods工具我们可以为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods本身所支持的),并且可以轻松管理其版本。

  • CocoaPods的好处

1、在引入第三方库时它可以自动为我们完成各种各样的配置,包括配置编译阶段、连接器选项、甚至是ARC环境下的-fno-objc-arc配置等。 2、使用CocoaPods可以很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可以让我们找到真正好用的类库。

二、Cocoapods安装步骤

注意:在终端输入命令时,取$后面部分输入

1、升级Ruby环境

终端输入:$ gem update --system

此时会出现

没权限升级Ruby的提示

这是因为你没有权限去升级Ruby

这时应该输入:$ sudo gem update --system

此时会出现

输入密码

接下来输入密码,注意:输入密码的时候没有任何反应,光标也不会移动,你尽管输入就是了,输完了直接回车。 等一会如果出现

升级Ruby成功

恭喜你,升级Ruby成功了。

2、更换Ruby镜像

首先移除现有的Ruby镜像

终端输入:$ gem sources --remove https://rubygems.org/

然后添加国内最新镜像源(淘宝的Ruby镜像已经不更新了)

终端输入:$ gem sources -a https://gems.ruby-china.org/
(https://gitcafe.com/akuandev/Specs.git 替换成 http://git.oschina.net/akuandev/Specs.git 即可使用 oschina 上的镜像)

执行完毕之后输入gem sources -l来查看当前镜像

终端输入:$ gem sources -l

如果结果是 *** CURRENT SOURCES *** https://gems.ruby-china.org/ 说明添加成功,否则继续执行$ gem source -a https://gems.ruby-china.org/来添加

3、安装CocoaPods

接下来开始安装

终端输入:$ sudo gem install cocoapods

如果出现这个

安装错误提示

说明没有权限,需要输入

终端输入:$ sudo gem install -n /usr/local/bin cocoapods

安装成功如下:

安装成功

到这之后再执行pod setup(PS:这个过程是漫长的,要有耐心)

终端输入:$ pod setup

然后你会看到出现了Setting up CocoaPods master repo,卡住不动了,说明Cocoapods在将它的信息下载到 ~/.cocoapods里。 你可以command+n新建一个终端窗口,执行cd ~/.cocoapods/进入到该文件夹下,然后执行du -sh *来查看文件大小,每隔几分钟查看一次,这个目录最终大小是900多M(我的是930M) 当出现Setup completed的时候说明已经完成了。

哈哈,太不容易了,终于走到这一步了,终于安装完成了,那么到底能不能用呢?咱们接着往下看! 注意:以上所有的步骤都是为这台电脑配置CocoaPods环境,以下才是真正的把CocoaPods安装到你的工程里面。

4、CocoaPods的使用

好吧,废话少说,我们先创建这个神奇的Podfile。在终端中进入你项目所在目录(cd命令)

$cd /Users/ijeff/Desktop/cocoaPodsDemo1

然后在当前目录下,利用vim创建Podfile,运行:

$vim Podfile

然后在Podfile文件中输入以下文字:

platform :ios, '7.0'

pod 'AMap2DMap', '~> 2.5.0'

pod 'AFNetworking', '~> 2.5.3'

pod 'SDWebImage', '~> 3.7.2'

这两句文字的意思是,当前AFNetworking支持的平台: ios,

要下载的AFNetworking版本是2.0。

然后保存退出。vim环境下,保存退出命令是:

$:wq

这时候,你会发现你的项目目录中,出现一个名字为Podfile的文件,而且文件内容就是你刚刚输入的内容。

(注意,Podfile文件要在项目文件夹的根目录下。)

这时候,你就可以利用CocoaPods下载AFNetworking类库了。还是在终端中的当前项目目录下,运行以下命令:(--verbose --no-repo-update)

$pod install

运行完$pod install命令后会产生几个新文件。你会发现多了两个文件 “.xcworkspace”, “Podfile.lock”和一个文件夹“Pods”。

注意:  以后打开项目就用 .xcworkspace 打开,而不是之前的.xcodeproj文件。

至此,CocoaPods已经在你的项目中植入,管理了一个第三方库AFNetworking。上面写了这么多,其实过程是十分简单的。总结一下就是:

  1. 先在项目中创建Podfile,Podfile的内容是你想导入的类库。一般类库的原作者会告诉你导入该类库应该如何写Podfile;
  2. 运行命令:$pod install

使用$pod install进行安装时如果出现如下错误:

$ pod install

Analyzing dependencies

[!] Unable to find a specification for `AFNetworking (~> 2.0)`

尝试解决办法:

把当前Pod的目录清理一下就行了。在终端执行以下命令:
pod repo remove master
pod setup
setup成功后执行install

搜索不到的提示

这是因为之前pod search的时候生成了缓存文件search_index.json 执行rm ~/Library/Caches/CocoaPods/search_index.json来删除该文件 然后再次输入pod search AFNetworking进行搜索 这时会提示Creating search index for spec repo 'master'.. 等待一会将会出现搜索结果如下:

CocoaPods(第三方类库管理工具)的更多相关文章

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

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

  2. cocoapods iOS类库管理工具的安装与使用

    CocoaPods是一个管理Swift和Objective-C的Cocoa项目的依赖工具.他可以优雅地帮助你扩展你的项目.简单的说,就是替你管理Swift和Objective-C的Cocoa项目的第三 ...

  3. CocoaPods第三方类库依赖管理

    安装cocoapods   1.移除ruby的源地址 gem sources --remove https://rubygems.org/   2.添加ruby的源地址 gem sources -a ...

  4. 安装cocoaPods第三方类库

    *1 检测gem 镜像文件     输入指令: gem sources -l     回车后得到镜像地址.可能是一个,也可能有好几个,常见两个如下 https://rubygems.org/     ...

  5. 二:新浪微博:第三方框架管理工具CocoaPods的安装和使用

    一:CocoaPods的安装 我们可以用淘宝的Ruby镜像来访问cocoapods.按照下面的顺序在终端中敲入依次敲入 $ gem sources --remove https://rubygems. ...

  6. brewhome - 第三方包管理工具

    最近对移动开发感兴趣,于是乎有了相当正式的理由购买了一台macbook pro 13. 我虽然以前没有使用过mac os,但是上手却很快,这大概跟我最近几年一直在使用linux系统有关吧.我平时上班时 ...

  7. cocoapods 类库管理利器

    作为iOS开发者,第三方类库的使用是最经常的,但鉴于第三方类库的不断更新以及其可能需要依存其他类,如果要使用最新版那么我们需要重新下载再添加到项目中,无疑带来一些繁琐的麻烦,那么现在这里就有一款能解决 ...

  8. iOS开发 使用Cocoapods管理第三方类库

    每次上github看到一些优秀的代码,总能看到Podfile,也了解是个管理第三方类库的,今天抽时间学习了一下,挺简单的! 作用:      太多  还是复制一下把!!! CocoaPods是什么? ...

  9. python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑

    python3.4学习笔记(八) Python第三方库安装与使用,包管理工具解惑 许多人在安装Python第三方库的时候, 经常会为一个问题困扰:到底应该下载什么格式的文件?当我们点开下载页时, 一般 ...

随机推荐

  1. BUPT复试专题—矩阵幂(2012)

    https://www.nowcoder.com/practice/31e539ab08f949a8bece2a7503e9319a?tpId=67&tqId=29638&rp=0&a ...

  2. 赵雅智_Swift(2)_swift常量和变量

    分号 Swift 并不强制要求你在每条语句的结尾处使用分号(;) 你打算在同一行内写多条独立的语句必需要用分号 let cat = "? ?? ? "; println(cat) ...

  3. SpringBoot学习之快速入门创建

    maven构建项目 1.访问http://start.spring.io/,进入快速创建工程的主页 可参考下图所示: 2.选择构建工具Maven Project.Spring Boot版本1.3.6以 ...

  4. 这个捕鱼游戏制作的真心不错,原创音乐,AV动作,让人流连忘返啊呵呵

     女生看完这篇文章后果断地命令男朋友打开电脑和手机 2014-10-10 茶娱饭后 本人纯屌丝宅男一名.专注游戏十年有余,玩过无数大大小小的游戏,对捕鱼游戏情有独钟.我不想说在捕鱼游戏方面有多专业 ...

  5. 【源代码】LruCache源代码剖析

    上一篇分析了LinkedHashMap源代码,这个Map集合除了拥有HashMap的大部分特性之外.还拥有链表的特点,即能够保持遍历顺序与插入顺序一致. 另外.当我们将accessOrder设置为tr ...

  6. openwrt 实现hotplug-button

    <*> kmod-gpio-button-hotplug................Simple GPIO Button Hotplug driver gpio-button-hotp ...

  7. grunt简单教程

    Grunt简单教程 1.grunt简单介绍 Grunt是一个基于任务的命令行工具.依赖于node.js环境. 它能帮你合并js文件,压缩js文件,验证js.编译less,合并css.还能够配置自己主动 ...

  8. leetcode -day17 Path Sum I II &amp; Flatten Binary Tree to Linked List &amp; Minimum Depth of Binary Tree

    1.  Path Sum Given a binary tree and a sum, determine if the tree has a root-to-leaf path such tha ...

  9. 网页 H5“线条” 特效实现方式(canvas-nest)

    先上图 (看博客空白处也可以呦): 前一阵浏览网站的时候,发现了这个好玩的东西,一直想找找怎么实现的,今天忙里偷闲,上网搜了一下,发现实现起来特别简单. 只需要在网页body里引入一个<scri ...

  10. SignatureDoesNotMatch REST接口 在任何时间、任何地点、任何互联网设备上 在Header中包含签名

    PutObject_关于Object操作_API 参考_对象存储 OSS-阿里云 https://help.aliyun.com/document_detail/31978.html OSS API ...