CocoaPods是iOS最常用的第三方类库管理工具,绝大部分有名的开源类库都支持CocoaPods。所以,作为iOS程序员,掌握CocoaPods的使用是必备技能。
下面我们就来讲一下CocoaPods的安装流程。
第一步:安装cocoapods
sudo gem install cocoapods
>ERROR: Could not find a valid gem 'cocoapods' (>= 0), here is why:
Unable to download data from https://rubygems.org/ - Errno::ECONNRESET: Connection reset by peer - SSL_connect (https://rubygems.org/latest_specs.4.8.gz)
如果这里写代码片以上为安装不成功的终端输出,执行以下操作
gem sources --remove https://rubygems.org/
gem sources -a http://ruby.taobao.org/
gem sources -l(用来查看是否成功)
sudo gem install cocoapods
安装成功后,接着执行命令:
pod setup
如果Ruby环境不够新,可能需要更新以下:
sudo gem update –system
至此安装就完成了,我们可以尝试搜索一个第三方类库:
pod search AFNetworking
终端显示出查找的AFNetworking类
-> AFNetworking (3.0.4)
A delightful iOS and OS X networking framework.
pod 'AFNetworking', '~> 3.0.4'
- Homepage: https://github.com/AFNetworking/AFNetworking
- Source: https://github.com/AFNetworking/AFNetworking.git
- Versions: 3.0.4, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 3.0.0-beta.3, 3.0.0-beta.2, 3.0.0-beta.1,
2.6.3, 2.6.2, 2.6.1, 2.6.0, 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 (3.0.4)
- AFNetworking/Security (3.0.4)
- AFNetworking/Reachability (3.0.4)
- AFNetworking/NSURLSession (3.0.4)
- AFNetworking/UIKit (3.0.4)
-> 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]
使用CocoaPods的第一步,是在当前项目下,新建一个Podfile文件:
touch Podfile
然后利用
vim Podfile
文件编辑,或者
open -e Podfile
加入你想要使用的类库,格式如下:
platform :ios
pod 'Reachability', '3.1.0'
platform:ios, '7.0'
pod 'JSONKit','1.4'
pod 'AFNetworking', '~> 2.3.1'
关闭vim
:wq
如果是拷贝的别人的项目,或是一个很久没打开过的项目,可能需要先执行一下:
pod update
然后调用下面命令来进行初始化(下载库):
pod install
错误信息
[!] Unable to satisfy the following requirements:
AFNetworking (~> 3.0.4)
required byPodfile
Specs satisfying the
AFNetworking (~> 3.0.4)
dependency were found,
but they required a higher minimum deployment target.
如果出现以上信息是因为配置文件Podfile 检查 # platform :ios, ‘8.0’ 有没有指定版本
pod ‘AFNetworking’, ‘~> 3.0.4’
这样就大功告成了!
注意点补充
1、使用CocoaPods生成的 .xcworkspace 文件来打开工程,而不是以前的 .xcodeproj 文件。
2、每次更改了Podfile文件,你需要重新执行一次pod install或者pod update命令
3、前面的每一步都有可能出现问题,但大部分问题都是因为大局域网的原因,用一个网速稳定的境外VPN可破
4、第三方库编写版本问题
pod ‘AFNetworking’ //不显式指定依赖库版本,表示每次都获取最新版本
pod ‘AFNetworking’, ‘2.0’ //只使用2.0版本
pod ‘AFNetworking’, ‘>2.0′ //使用高于2.0的版本
pod ‘AFNetworking’, ‘>=2.0′ //使用大于或等于2.0的版本
pod ‘AFNetworking’, ‘<2.0′ //使用小于2.0的版本
pod ‘AFNetworking’, ‘<=2.0′ //使用小于或等于2.0的版本
pod ‘AFNetworking’, ‘~>0.1.2′ //使用大于等于0.1.2但小于0.2的版本,相当于>=0.1.2并且<0.2.0
pod ‘AFNetworking’, ‘~>0.1′ //使用大于等于0.1但小于1.0的版本
pod ‘AFNetworking’, ‘~>0′ //高于0的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本