标签:ios
虽然网上关于CocoaPods安装教程多不胜数,可是我在安装的过程当中仍是出现了不少错误,因此你们能够照下来步骤装一下,我相信会很好用.git
前言github
在iOS项目中使用第三方类库能够说是很是常见的事,可是要正确地配置他们有时候是很是繁琐的事情,幸运的是CocoaPods是一个很好的解决方案。vim
什么是CocoaPodsxcode
CocoaPods是OS X和iOS下的一个第三类库管理工具,经过CocoaPods工具咱们能够为项目添加被称为“Pods”的依赖库(这些类库必须是CocoaPods自己所支持的),而且能够轻松管理其版本。ruby
Cocoapods意义体如今两个方面。第一,在引入第三方库时它能够自动为咱们完成各类各样的配置,包括配置编译阶段、链接器选项、甚至是ARC环境下的-fno-objc-arc配置等。第二,使用CocoaPods能够很方便地查找新的第三方库,这些类库是比较“标准的”,而不是网上随便找到的,这样可让咱们找到真正好用的类库。工具
接下来咱们将介绍CocoaPods的使用。网站
CocoaPods的核心组件spa
CocoaPods是用Ruby写的,并划分红了若干个Gem包。.net
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安装步骤
一、升级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升级完成。
二、安装CocoaPods时咱们要访问cocoapods.org,该网站可能被咱们大天朝墙了,这样下载安装可能会是龟速,幸亏咱们能够用淘宝的Ruby镜像来访问该网站,方法以下:
一、gem sources --remove https://rubygems.org/
二、gem sources -a http://ruby.taobao.org/
最新版的Xcode要将http 换成 https
可使用下面的命令(红色部分)查看是否更换镜像成功(以下图所示):
$ gem sources -l
三、安装Cocoapods,在终端输入命令
$sudo gem install cocoapods
这个时候会提示你输入密码,注:在终端输入密码不会有提示,光标也不会移动,必定要注意
开始安装,以下图:PS:这个过程可能花费时间比较长
安装成功以下:
若是出现:
ERROR: While executing gem ... (Errno::EPERM)
Operation not permitted - /usr/bin/xcodeproj
能够试试这个命令sudo gem install -n /usr/local/bin cocoapods
四、使用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]
五、须要在工程中建立一个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 若是长时间没有反应 证实被墙了 换成pod install --verbose --no-repo-update这个命令
由于这个过程须要下载相应的类库,因此时间和网速有关。
安装成功以后截图以下:
这个时候会看到以后打开工程都须要从类型为工程名.xcworkspace文件打开。