为什么会有CocoaPods
为什么会有CocoaPods?每种程序开发语言,发展到一定阶段,都会出现依赖管理工具。比如Java里面的Maven。
Java的依赖管理工具—Maven
以前学习J2EE,jar包(依赖包)非常之多。如果用上一些框架,如:Spring,Struts等,jar包达到几十个,每个jar包有自己的版本。偶尔会出现一些莫名其妙的错误,一番研究下来,原来是jar包之间冲突引起。
iOS项目中的依赖
随便打开一个使用CocoaPods之前的项目,查看引用的第三方开源框架,如图:

虽然我这是一个小项目,但是可以看到依赖非常之多,这样做有几个弊端:
- 需要手动去下载依赖,引入到项目中
- 对于某些稍旧的依赖,可能会去设置
-fno-objc-arc
参数 - 如果某个依赖升级了,需要删除旧版本,下载新版本,再引入到项目中
- 依赖之间可能存在相互引用,版本不一致可能会报错
如果CocoaPods可以解决如上问题,那么你现在可能对CocoaPods心动了,那么接着往下看。
升级 Ruby
现在的 CocoaPods 安装,需要升级 ruby,版本号 >= 2.2,我索性就直接升级到 2.3。
首先安装rvm
curl -L get.rvm.io | bash -s stable
// 以上命令输入,执行完毕之后,再执行下面三条命令,查看 rvm 是否安装成功。
source ~/.bashrc $ source ~/.bash_profile$ rvm -v
source ~/.bash_profile
rvm -v
执行截图:

rvm安装成功之后,升级ruby
rvm install 2.3
这个稍微等得久一点。安装完毕之后,输入命令验证是否安装成功:
ruby -v

CocoaPods的安装
打开终端,输入命令:
sudo gem install cocoapods
会提示你输入密码,输入之后耐心等待。
安装完成之后,继续输入命令:
pod setup
这一步会下载CocoaPods所需的一些文件。下载的目录在~/.cocoapods
,下载完成后文件夹大小约为130MB。因为下载的地址是在https://github.com/CocoaPods/Specs
上面,所以耗时比较久,建议在网络好的地方下载。下载完成后会出现提示。
CocoaPods的使用
我首先新建了一个名为test
的项目,放在桌面。然后新建一个文件,命名为:Podfile
,文件内容如下:
platform :ios
pod 'AFNetworking'
pod 'SDWebImage', '~>3.7'
pod 'SVProgressHUD'
pod 'MJExtension'
放到项目目录里面,如图:

之后打开终端
,进入项目文件夹,输入命令:
pod install
等待片刻可以看到依赖已经安装完毕。

可以看到此时项目目录,项目结构,都产生了变化,我们需要的依赖全部下载并且集成到了项目中,如图:
注意:安装好依赖后,不再是双击
Test.xcodeproj
打开你的项目,应该通过Test.xcworkspace
来打开项目。


接下来可以直接使用刚才安装好的依赖了:

CocoaPods其他补充
-
当你想添加新的依赖,打开
Podfile
文件进行修改,然后和上面相同的方式,在终端里输入pod install
就可以补充安装。 -
如果不知道该在
Podfile
写什么来引入你想要的依赖,可以到依赖的github
官网去查看。 -
使用命令
pod update
可以更新~/.cocoapods
目录。
网友评论