1.升级Ruby环境
sudo gem update --system
如果Ruby没有安装,请参考 如何在Mac OS X上安装 Ruby运行环境
2.安装CocoaPods时我们要访问cocoapods.org,用淘宝的RubyGems镜像来代替官方版本,执行以下命令:
$ gem sources --remove https://rubygems.org/ //等有反应之后再敲入以下命令 $ gem sources -a https://ruby.taobao.org/
为了验证你的Ruby镜像是并且仅是taobao,可以用以下命令查看:
$ gem sources -l
只有在终端中出现下面文字才表明你上面的命令是成功的:
*** CURRENT SOURCES *** http://ruby.taobao.org/
上面的命令,有时试了会没有效,请参考淘宝网的https://ruby.taobao.org
$ gem sources --add https://ruby.taobao.org/ --remove https://rubygems.org/ $ gem sources -l *** CURRENT SOURCES *** https://ruby.taobao.org # 请确保只有 ruby.taobao.org $ gem install rails
3.安装Cocoapods,在终端输入命令(10.11以上,请参考第4点)
$ sudo gem install cocoapods
等上十几秒钟,CocoaPods就可以在你本地下载并且安装好了,不再需要其他设置。
4.10.11以上,上面的命令是不生效了,因为10.11把cocoapods直接干掉了
sudo gem install -n /usr/local/bin cocoapods 再加一句,完美解决 sudo xcode-select --switch /Applications/Xcode.app
在终端中输入如下命令来完成安装:
//将 CocoaPods Specs repository复制到你电脑上~/.cocoapods目录下 pod setup
它需要一点时间来完成,你等就是了
如果安装失败 ~/.cocoapods 里面是空的,就需要重新setup
命令如下:
pod repo remove master
pod setup
完毕之后这个文件夹大概有 100多M,需要花费比较多时间,请耐心等待。
到这里你已经成功安装了CocoaPods
Cocoapods使用
1.使用search命令搜索类库名
$ pod search AFNetworking
得到结果如下图:
从这个图上,我们看到AFN有好多版本,最新的版本是2.6.0.
2.打开xcode,新建一个工程,工程名为CocoapodsSample。
使用命令cd,cd后面跟的是工程目录名,可以直接拉进来,
回车后,输入命令创建Podfile文件
$ touch Podfile
我们可以看到,在根目录下,多了一个Podfile文件
3.使用vim编辑podfile文件,使用命令
$ vim Podfile
然后在Podfile文件中输入以下文字:
platform :ios, '7.0' pod "AFNetworking", "2.5.0"
这两句文字的意思是,当前AFNetworking支持的iOS最高版本是iOS 7.0, 要下载的AFNetworking版本是2.5.0。
在编辑完后按 esc,然后按":",这个时候输入wq保存退出。
这个时候打开Podfile文件就会看到里面添加了刚才在终端输入的两行语句,如下图
4.这时候,你就可以利用CocoPods下载AFNetworking类库了。还是在终端中的当前项目目录下,运行以下命令:
$ pod install
安装成功后,如下图:
这个时候,会看到多了一个.xcworkspace工程,以后打开项目就用 CocoapodsSample.xcworkspace 打开,而不是之前的.xcodeproj文件。
5.打开 CocoapodsSample.xcworkspace 工程,你会惊喜地发现,AFNetwoking已经成功导入项目了。
现在,你就可以开始使用AFNetworking.h啦。可以稍微测试一下,在你的项目任意代码文件中输入:
#import <AFNetworking.h> 或者 #import "AFNetworking.h"
然后编译,看看是否出错。如果你严格按照小编上述的步骤来,是不可能出错的啦。
另:
如果有一些包已经存在了,或者我们更改了Podfile里面的版本,可以使用以下命令更新
$ pod update
关于Podfile文件编辑时,第三方库版本号的各种写法:
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的版本,写这个限制和什么都不写是一个效果,都表示使用最新版本