史上最详细的CocoaPods安装教程(图文)

 更新时间:2016年09月30日 22:21:09   投稿:mdxy-dxy  
虽然网上关于CocoaPods安装教程多不胜数,但是我在安装的过程中还是出现了很多错误,所以大家可以照下来步骤装一下,我相信会很好用

虽然网上关于CocoaPods安装教程多不胜数,但是我在安装的过程中还是出现了很多错误,所以大家可以照下来步骤装一下,我相信会很好用.

前言

在iOS项目中使用第三方类库可以说是非常常见的事,但是要正确地配置他们有时候是非常繁琐的事情,幸运的是CocoaPods是一个很好的解决方案。

什么是CocoaPods

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

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

接下来我们将介绍CocoaPods的使用。

CocoaPods的核心组件

CocoaPods是用Ruby写的,并划分成了若干个Gem包。

CocoaPods在解析执行过程中最重要的几个包的路径分别是:CocoaPods/CocoaPods、 CocoaPods/Core和 CocoaPods/Xcodeproj。

CocoaPods / CocoaPod:这是面向用户的组件,每当执行一个pod命令时,这个组件将被激活。它包括了所有实用CocoaPods的功能,并且还能调用其他gem包来执行任务。

CocoaPods / Core:Core gem提供了与CocoaPods相关的文件(主要是podfile和podspecs)的处理。

 

Podfile:该文件用于配置项目所需要的第三方库,它可以被高度定制。本文中我们主要在这里做动作。

Podspec:该文件描述了一个库将怎样被添加进工程中。.podspec文件可以标识该第三方库所需要的源码文件、依赖库、编译选项,以及其他第三方库需要的配置。

CocoaPods / Xcodeproj:这个包负责处理工程文件,它能创建以及修改.xcodeproj文件和.xcworkspace文件。它也可以作为一个独立的包使用,当你要编写修改项目文件的脚本时,可以考虑使用CocoaPods/Xcodeproj。

 Cocoapods安装步骤

1、升级Ruby环境

终端输入:$gem update --system

此时会出现

ERROR: While executing gem ... (Gem::FilePermissionError)

You don‘t have write permissions for the /Library/Ruby/Gems/2.0.0 directory.

zijingMacBook-Pro:~ shiyunlei$ sudo gem update —system

这个是因为你没有权限去更新Ruby

这个时候你可以在终端使用:$sudo gem update —system来进行升级

技术分享

 这个时候表示Ruby升级完成。 

2、安装CocoaPods时我们要访问cocoapods.org,该网站可能被我们大天朝墙了,这样下载安装可能会是龟速,幸好我们可以用淘宝的Ruby镜像来访问该网站,方法如下:

复制代码 代码如下:

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

可以使用下面的命令(红色部分)查看是否更换镜像成功(如下图所示):
$ gem sources -l

技术分享

 

3、安装Cocoapods,在终端输入命令

$sudo gem install cocoapods

这个时候会提示你输入密码,注:在终端输入密码不会有提示,光标也不会移动,一定要注意

开始安装,如下图:PS:这个过程可能花费时间比较长

技术分享

 

安装成功如下:

技术分享

 

4、使用search命令搜索类库名:

$pod search AFNetworking

如果CocoaPods支持,将会输出搜索到的所有类库版本和信息,以及在Podfile中配置的写法,终端返回信息如下:

-> AFNetworking (2.3.1)

A delightful iOS and OS X networking framework.

pod ‘AFNetworking‘, ‘~> 2.3.1'(这个语句是需要在编辑Podfile的时候输入的命令,即是如何安装下载相关类库的指令)

- Homepage: https://github.com/AFNetworking/AFNetworking

- Source: https://github.com/AFNetworking/AFNetworking.git

- Versions: 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]

- Sub specs: - AFNetworking/Serialization (2.3.1) -

AFNetworking/Security (2.3.1) - AFNetworking/Reachability (2.3.1) -

AFNetworking/NSURLConnection (2.3.1) - AFNetworking/NSURLSession (2.3.1)

- AFNetworking/UIKit (2.3.1)

-> AFNetworking+AutoRetry (0.0.5)

Auto Retries for AFNetworking requests

pod ‘AFNetworking+AutoRetry‘, ‘~> 0.0.5‘

- Homepage: https://github.com/shaioz/AFNetworking-AutoRetry

- Source: https://github.com/shaioz/AFNetworking-AutoRetry.git

- Versions: 0.0.5, 0.0.4, 0.0.3, 0.0.2, 0.0.1 [master repo]

5、需要在工程中创建一个Podfile文件,

使用命令:

$cd /Users/shiyunlei/Desktop/CocoapodsSample(进入工程目录,cd后面的是工程的路径)

$ touch Podfile(创建Podfile文件)

技术分享

 

然后使用vim编辑Podfile文件,使用命令:

$ vim Podfile
进入如下界面

技术分享

 

然后紧接着按键盘上的“i”键,变成如下状态,这个时候可以对Podfile文件进行编辑:

$platform:ios, ‘7.0‘

$ pod ‘AFNetworking‘, ‘~> 2.3.1‘

在编辑完成后按“esc”,

技术分享

 

在按“:”,这个时候输入wq,点击回车,保存并退出。

技术分享

 

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

技术分享

 

然后在终端输入命令安装相应的第三方类库

$pod install

技术分享

 

因为这个过程需要下载相应的类库,所以时间和网速有关。

安装成功之后截图如下:

技术分享

 

这个时候会看到之后打开工程都需要从类型为工程名.xcworkspace文件打开。

技术分享

史上最详细的CocoaPods安装教程就此结束了,如果还有什么疑问可以查看下面的相关文章。

相关文章

  • iOS安全防护系列之重签名防护与sysctl反调试详解

    iOS安全防护系列之重签名防护与sysctl反调试详解

    这篇文章主要给大家介绍了关于iOS安全防护系列之重签名防护与sysctl反调试的相关资料,文中通过示例代码以及图文介绍的非常详细,对各位iOS开发者们具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2018-07-07
  • iOS开发使用GDataXML框架解析网络数据

    iOS开发使用GDataXML框架解析网络数据

    GDataXML是Google开发的一个XML解析库,轻便,特点使用非常简单,支持XPath。今天把前两天弄的IOS XML解析记录下来,也供大家参考。
    2016-02-02
  • iOS10全新推送功能实现代码

    iOS10全新推送功能实现代码

    这篇文章主要为大家详细介绍了iOS10全新推送功能实现代码,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2016-09-09
  • iOS仿AirPods弹出动画

    iOS仿AirPods弹出动画

    这篇文章主要为大家详细介绍了iOS仿AirPods弹出动画的实现,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-12-12
  • iOS项目开发--实现类似淘宝详情页面

    iOS项目开发--实现类似淘宝详情页面

    本篇文章主要介绍了iOS实现类似淘宝详情页面,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-11-11
  • iOS开发中以application/json上传文件实例详解

    iOS开发中以application/json上传文件实例详解

    在和sever后台交互的过程中、有时候、他们需要我们iOS开发者以“application/json”形式上传,具体实例代码大家参考下本文
    2017-07-07
  • IOS安装CocoaPods详细教程

    IOS安装CocoaPods详细教程

    这篇文章主要为大家详细介绍了IOS安装CocoaPods教程,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-05-05
  • iOS开发之清除缓存功能的实现

    iOS开发之清除缓存功能的实现

    现在的绝大多数应用中都存在着清楚缓存的功能,形形色色,各有千秋,所以小编现为大家介绍一种最基础的清除缓存的方法,有需要的可以参考借鉴。下面来一起看看吧。
    2016-09-09
  • 键盘弹出时会覆盖文本框怎么解决

    键盘弹出时会覆盖文本框怎么解决

    在一些网站登陆界面,我们经常会见到,键盘的出现与隐藏操作,那么基于代码是如何实现的呢?下面小编写了具体代码介绍,特此分享到脚本之家平台,供大家参考
    2016-04-04
  • iOS 禁止按钮在一定时间内连续点击

    iOS 禁止按钮在一定时间内连续点击

    本文主要介绍了iOS中禁止按钮在一定时间内连续点击的方法,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02

最新评论