使用cocapods 安装 AFNetworking

来源:互联网 发布:淘宝商标权投诉扣几分 编辑:程序博客网 时间:2024/06/03 19:06

转载:http://blog.csdn.net/zhongyanpingzzz/article/details/49820929

一、CocoaPods是什么?

当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要 CocoaPods。

CocoaPods应该是ios最常用最有名的类库管理工具了,上述两个烦人的问题,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,掌握CocoaPods的使用是必不可少的基本技能了。

二、安装CocoaPods

1、一般mac下都自带ruby环境,使用ruby的gem命令即可下载安装:

$ sudo gem install cocoapods

 

但是点下命令的时候发现安装很慢,半天没有反应,其实是因为天朝的防火墙吧cocoapods.org给隔了。不过我们可以用淘宝的Ruby镜像来访问cocoapods。

步骤如下:

$ gem sources --remove https://rubygems.org///等有反应之后再敲入以下命令$ gem sources -a http://ruby.taobao.org/
$ gem sources -l

只有在终端中出现下面文字才表明你上面的命令是成功的:

*** CURRENT SOURCES ***http://ruby.taobao.org/

 

然后再使用 一下命令安装即可: 

$ sudo gem install cocoapods

 

三、使用cocoapods在项目中导入AFNetworking

(AFNetworking类库在GitHub地址是:https://github.com/AFNetworking/AFNetworking)

 

1、为了确定AFNetworking是否支持CocoaPods,可以用CocoaPods的搜索功能验证一下。在终端中输入:

$ pod search AFNetworking

 

2、CocoaPods为什么能下载AFNetworking呢,而不是下载其他类库呢?这个问题的答案是,有个文件来控制CocoaPods该下载什么。这个文件就叫做“Podfile”(注意,一定得是这个文件名,而且没有后缀)。你创建一个Podfile文件,然后在里面添加你需要下载的类库,也就是告诉CocoaPods,“某某和某某和某某某,快到碗里来!”。每个项目只需要一个Podfile文件。

好吧,废话少说,我们先创建这个神奇的PodFile。在终端中进入(cd命令)你项目所在目录,然后在当前目录下,利用vim创建Podfile,运行:

$ vim Podfile

然后在Podfile文件中输入以下文字:

platform :ios, '8.1'pod "AFNetworking", "~> 2.5.1"
 

 

这时候,你会发现你的项目目录中,出现一个名字为Podfile的文件,而且文件内容就是你刚刚输入的内容。注意,Podfile文件应该和你的工程文件.xcodeproj在同一个目录下。

这时候,你就可以利用CocoPods下载AFNetworking类库了。还是在终端中的当前项目目录下,运行以下命令:

$ pod install 

 

【报错了】所有项目的Podspec文件都托管在htps://github.com/CocoaPods/Specs,但是由于总所周知的原因,下载的时候会如下错误,这个时候就必须想点办法曲线救国了。步骤如下:

【解决报错】把镜像索引指向国内的镜像

命令行输入如下代码

$ pod repo remove master

$ pod repo add master https://gitcafe.com/akuandev/Specs.git

$ pod update

效果如图:

 

最后在运行   pod install  这次成功了,【注意】然后以后打开项目就用 *.xcworkspace 打开,而不是之前的.xcodeproj文件。

 

最后的效果如图:注意】必须要用 import <AFNetworking.h> 来引入,不能用 import "AFNetworking.h",表示这个引用的类文件不能改变(第三方的)

原创粉丝点击