什么是Cocoapods
在iOS开发中势必会用到一些第三方依赖库,比如大家都熟悉的ASIHttpRequest、AFNetworking、JSONKit等。使用这些第三方类库能极大的方便项目的开发,但是,集成这些依赖库需要我们手动去配置,例如集成ASIHttpRequest库时除了加入源码以外还需要手动去添加一些系统框架,比如CFNetwork、MobileCoreServices等,如果这些第三方库发生了更新,还需要手动去更新项目。这就显得非常麻烦。有麻烦自然有解决办法,CocoaPods就是为了解决这个问题而生的。通过CocoaPods,我们可以将第三方的依赖库统一管理起来,配置和更新只需要通过简单的几行命令即可完成,大大的提高了实际开发中的工作效率,使我们的主要精力集中到更重要的事情上去。
安装Cocoapods
mac系统自带ruby环境,网上有的教程是让你重新装svm,然后利用rvm再装ruby,注意区分。
1. 将ruby的原生镜像移除
$ gem sources --remove https://rubygems.org/
淘宝镜像已经停止更新,所以安装了淘宝镜像的用户执行下面命令
$ gem sources --remove https://ruby.taobao.org/
1.1 安装Ruby China镜像
$ gem sources --add https://gems.ruby-china.com/
1.2 查看是否安装成功
$ gem sources -l
Ruby China.png
2. 开始安装Cocoapods
$ sudo gem install cocoa pods
PS: 那么问题来了——没遇到的自动跳过
错误提示
Error installing cocoapods: activesupport requires Ruby version >= 2.2.2.
意思是当前Ruby版本低,要更新到2.2.2及以上版本
3. 更新Ruby(未遇到上述错误可跳过)
3.1 安装 RVM baby 版本管理器
curl -L get.rvm.io | bash -s stable
等安装完成 出现下面这行提示如下
In case of problems: https://rvm.io/helpandhttps://twitter.com/rvm_io
执行
source ~/.bashrc
执行
source ~/.bash_profile
3.2 测试是否安装正常
执行
rvm -v
安装正常 提示如下
rvm 1.27.0 (latest) by Wayne E. Seguin, Michal Papis[https://rvm.io/]
3.3 用RVM升级Ruby查看当前ruby版本
执行
ruby -v
若想列出已知的ruby版本 执行
rvm list known
3.4 安装ruby 2.2.2
执行
rvm install 2.2.2
完成后 执行
ruby -v
打印输出
ruby 2.2.2p95 (2015-04-13 revision 50295) [x86_64-darwin14]
3.5 补充
ruby常用语句
- rvm list 查看已安装ruby
- rvm remove 2.2.2 卸载一个已安装的ruby版本
- rvm use 2.2.4 --default 设置为默认版本
PS 安装ruby 2.2.2时出错:Requirements installation failed with status: 1.
安装ruby 2.2.2时出错解决方法:参考http://www.cnblogs.com/cwllong/p/5072882.html
4. 继续安装 CocoaPods
sudo gem install -n /usr/local/bin cocoapods
pod setup
5. 查看Cocoapods是否支持某个类库,只要能够查询到框架就表明这个这台电脑Cocoapods已经安装成功。
$ pod search afnetworking
PS:可能碰到的问题
1、pod search 搜索库的时候报错Unable to find a specification for xxxxx
解决方法:在终端执行这两句代码,然后重新安装pod,在进行搜索。
pod repo remove master
pod setup
2、 安装的时候报错说selected xcode error
解决方法:运行这句代码,然后重新安装
sudo xcode-select-switch/Applications/Xcode.app/
--Cocoapods相当于一款软件,在电脑上安装成功以后,以后就可以直接使用他来给项目集成框架。不需要重复上面的操作。
3、错误信息:Unable to find a pod with name, author, summary, or description matching AFNetworking
解决办法:执行命令
rm ~/Library/Caches/CocoaPods/search_index.json
5. 使用Cocoapods
5.1 Cocoapods,支持模糊查询
$ pod search sdwebimage
sdwebimage.png
按q返回终端命令行页面
5.2 cd到工程所在文件路径
$ cd /Users/xx/Desktop/CocoaPodsTest //我这里是放在xx用户的桌面上了
5.3 可以查看当前终端所处的路径
$ pwd
6. 管理第三方库的PodFile文件
$ vim Podfile
利用终端运行以上代码会在工程里打开一个名为Podfile(注意大小写)的文件。如果有这个文件会在终端中打开,如果没有这个文件会新建后打开。这个Podfile文件的作用是配置依赖库信息,就是告诉CocoaPods去下载和管理哪些依赖库。
6.1 按i进行编辑
podfile.png6.2 编辑完成后按esc退出编辑模式,接着输入:wq保存并退出文件注意:输入:wq时要确保输入法是在英文状态下
7. 将第三方库集成到项目中
pod install //第一次安装
pod update 更新
8. 更新Cocoapods
8.1 更新本地gem
$ gem update --system
8.2 更新本地Cocoapods
//安装最新版
$ sudo gem install cocoapods -n /usr/local/bin
//安装指定版本,如:1.3.1
$ sudo gem install -n /usr/local/bin cocoapods -v 1.3.1
//查看当前Cocoapods版本
$ pod --version
8.3 删除已安装pod
sudo gem uninstall cocoapods
然后输入1/2/3... 来选择删除那个版本的pod
删除pod
8.4 更新时报错
ERROR: While executing gem ... (Gem::Exception)
Unable to require openssl, install OpenSSL and rebuild ruby (preferred) or use non-HTTPS sources
检查是否安装openssl
openssl version
网友评论