虽然网上关于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环境:
```bash
$gem update --system
```
如果出现权限错误,可以尝试使用以下命令进行升级:
```bash
sudo gem update --system
```
2. 安装CocoaPods时,需要访问cocoapods.org。由于中国大陆网络原因,访问速度可能较慢。可以使用淘宝的Ruby镜像来访问该网站。首先查看是否更换镜像成功:
```bash
$ gem sources -l
```
3. 安装CocoaPods,在终端输入以下命令:
```bash
$sudo gem install cocoapods
```
安装过程中可能会提示输入密码,注意在终端输入密码时不会有提示,光标也不会移动。
4. 使用search命令搜索类库名,例如搜索AFNetworking:
```bash
$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
```
版本: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]
子规范:- 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)
自动重试AFNetworking请求的次数
pod ‘AFNetworking+AutoRetry‘, ‘~> 0.0.5‘
主页:https://github.com/shaioz/AFNetworking-AutoRetry
源代码:https://github.com/shaioz/AFNetworking-AutoRetry.git
版本:0.0.5, 0.0.4, 0.0.3, 0.0.2, 0
在编辑完成后,按下 `esc` 键。
接着按下 `:` 键,然后输入 `wq`,点击回车,保存并退出。
这样,当你再次打开 Podfile 文件时,你会看到里面添加了刚才在终端输入的一行语句,如下图所示:
```markdown
然后在终端输入命令安装相应的第三方类库:
$ pod install
请注意,由于这个过程需要下载相应的类库,所以时间和网速有关。
安装成功之后,截图如下:
此时,你可以在 Xcode 中使用工程名.xcworkspace 文件打开工程。
```