当你开发iOS应用时,会常用到不少第三方开源类库,好比JSONKit,AFNetWorking等等。可能某个类库又用到其余类库,因此要使用它,必须得另外下载其余类库,而其余类库又用到其余类库,“子子孙孙无穷尽也”,这也许是比较特殊的状况。手动一个个去下载所需类库十分麻烦。另一种常见状况是,你项目中用到的类库有更新,你必须得从新下载新版本,从新加入到项目中,十分麻烦。若是能有什么工具能解决这些恼人的问题,那将“善莫大焉”。因此,你须要 CocoaPods。react
CocoaPods应该是iOS最经常使用最有名的类库管理工具了,上述两个烦人的问题,经过cocoaPods,只须要一行命令就能够彻底解决,固然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。因此,做为iOS程序员的咱们,掌握CocoaPods的使用是必不可少的基本技能了。在咱们有了CocoaPods这个工具以后,只须要将用到的第三方开源库放到一个名为Podfile的文件中,而后在命令行执行$ pod install
命令。CocoaPods就会自动将这些第三方开源库的源码下载下来,而且为个人工程设置好相应的系统依赖和编译参数。ios
(1)# 先安装 [Xcode](http://developer.apple.com/xcode/) 开发工具,它将帮你安装好 Unix 环境须要的开发包git
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
(2)安装RVM程序员
$ curl -L https://raw.githubusercontent.com/wayneeseguin/rvm/master/binscripts/rvm-installer | bash -s stable
期间可能会问你 sudo 管理员密码,以及自动经过 Homebrew
安装依赖包,等待一段时间后就能够成功安装好 RVM。github
而后,载入 RVM 环境(新开 Termal 就不用这么作了,会自动从新载入的)shell
$ source ~/.rvm/scripts/rvm
修改 RVM 下载 Ruby 的源,到 Ruby China 的镜像:api
echo "ruby_url=https://cache.ruby-china.org/pub/ruby" > ~/.rvm/user/db
检查一下是否安装正确xcode
$ rvm -v rvm 1.27.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]
(3)用 RVM 安装 Ruby 环境ruby
$ rvm install 2.3.0
等待时间很是漫长的下载,编译过程,完成之后,Ruby, Ruby Gems 就安装好了。bash
(4)设置 Ruby 版本
RVM 装好之后,须要执行下面的命令将指定版本的 Ruby 设置为系统默认版本
$ rvm use 2.3.0 --default
一样,也能够用其余版本号,前提是你有用 rvm install 安装过那个版本
这个时候你能够测试是否正确
$ ruby -v ruby 2.3.0 ... $ gem -v 2.5.1
查询已经安装的ruby
$ rvm list
卸载一个已安装版本
$ rvm remove 2.0.0
(5)安装 CocoaPods
由于Ruby的默认源使用的是cocoapods.org,国内访问这个网址有时候会有问题,网上的一种解决方案是将其替换成其余站点的,替换方式以下:
移除原始镜像:
$gem source -r https://rubygems.org/
安装其余站点镜像
$https://gems.ruby-china.org/
要想验证是否替换成功了,能够执行:
$ gem sources -l
正常的输出结果:
*** CURRENT SOURCES ***
https://gems.ruby-china.org/
在本地已经安装好Ruby环境,那么下载和安装CocoaPods将十分简单,只须要一行命令。输入如下命令进行安装 CocoaPods
$ sudo gem install cocoapods
*-*-*-*到这里 CocoaPods 就安装完成了*-*-*-*
为了肯定AFNetworking是否支持CocoaPods,能够用CocoaPods的搜索功能验证一下。在终端中输入:
$ pod search AFNetworking
出现错误:
[!] /usr/bin/git clone https://github.com/CocoaPods/Specs.git master
Cloning into 'master'...
fatal: unable to access 'https://github.com/CocoaPods/Specs.git/': Failed to connect to github.com port 443: Operation timed out
解决方法:
$ sudo xcode-select -switch /Applications/Xcode.app/Contents/Developer
再次输入
$ pod search AFNetworking
仍是卡在
Setting up CocoaPods master repo
这里好久,不知道什么缘由,等了好久终于能顺利执行下去。
废话少说,说说怎么用,以AFNetworking为例子:
(1)在工程的目录(也就是跟***.xcodeproj文件在同一个文件夹)下建立 Podfile (注意,必定得是这个文件名,并且没有后缀)空白文件 。你建立一个Podfile文件,而后在里面添加你须要下载的类库,也就是告诉CocoaPods,“某某和某某和某某某,快到碗里来!”。每一个项目只须要一个Podfile文件。
(2)打开podfile文件,输入须要的第三方(按照下面格式输入)
platform :ios, '9.0' use_frameworks! #use_frameworks!个别须要用到它,好比reactiveCocoa target '项目名称' do pod 'AFNetworking', '~> 3.1' end
保存退出
(3)终端输入
$pod install
(4)打开工程
***.xcworkspace的文件
就此添加第三方AFNetworking成功
参考文档
(1)http://code4app.com/article/cocoapods-install-usage
(2)http://blog.csdn.net/qq_31810357/article/details/50031979
(3)http://ruby-china.org/wiki/install_ruby_guide
(4)http://blog.csdn.net/emulatestep/article/details/51644903