一、CocoaPods是什么?
当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNetWorking等等。可能某个类库又用到其他类库,所以要使用它,必须得另外下载其他类库,而其他类库又用到其他类库,“子子孙孙无穷尽也”,这也许是比较特殊的情况。总之小编的意思就是,手动一个个去下载所需类库十分麻烦。另外一种常见情况是,你项目中用到的类库有更新,你必须得重新下载新版本,重新加入到项目中,十分麻烦。如果能有什么工具能解决这些恼人的问题,那将“善莫大焉”。所以,你需要 CocoaPods。
CocoaPods应该是iOS最常用最有名的类库管理工具了,上述两个烦人的问题,通过cocoaPods,只需要一行命令就可以完全解决,当然前提是你必须正确设置它。重要的是,绝大部分有名的开源类库,都支持CocoaPods。所以,作为iOS程序员的我们,掌握CocoaPods的使用是必不可少的基本技能了。
二、CocoaPods工作原理
相信对大家来说,都会熟练的使用CocoaPods,都知道在终端执行:
pod setup
pod search
pod install
但是,对于没执行一句的意义是什么,我想在说一下:
通常我们所使用的AFNetworking,SDWebImage,MJExtension,YYKit等等三方框架,都是开源的,并且只需要我们在一台安装了pod 的电脑上执行pod setup之后,在执行podsearch YYKit 就会搜索到。这是因为像这样的三方库的.spec文件都添加到了CocoaPods的.spec文件中(source 'https://github.com/CocoaPods/Specs.git')
-
从上图可以看出
- 所有的开源三方库,都会把框架的.spec文件添加到 CocoaPods远程索引库中,而每一个.spec文件中都包含三方库的作者名称、版本号和源码的地址
-
执行 pod setup
- 远程索引库中所有的.spec都会被拷贝到本地索引库
-
执行pod search
- 会从本地检索索引文件中去查询所查询的库
-
执行pod install
- 当查询到后会从索引文件中对应的源码地址中下载代码集成到项目中
-
小结
- 当我们要做一个公开库的时候,只需要编写好源码,并且把源码的.spec文件添加到CocosPods远程索引库
- 相反,当我们要做一个私有库的时候,只需要编写好源码,并且把源码的.spec文件添加到我们自己的远程索引库中
网友评论