iOS包管理工具——Cocoapods详解
2015-10-16 09:27
309 查看
在进行iOS开发的时候,总免不了使用开源的第三方库,使用这些库的时候我们往往需要经历以下步骤:
(1)下载开源库的源代码并引入到工程;
(2)向工程中添加开源库所需要的framework;
(3)解决开源库和开源库之间,以及开源库和工程之间的依赖关系,检查重复添加framework的问题;
(4)如果开源库有更新,还需要把旧的开源库删除,重复执行以上的三个步骤;
自从有了Cocoapods,我们就不需要这么麻烦了。那么Cocoapod到底是什么呢?
Cocoapods是用来帮助我们管理第三方开源库的包管理工具,开始于2011年8月12日。它可以解决库与库之间的依赖关系,下载库的源代码,同时可以通过建立Xcode中的workspace来将第三方库和我们的工程联系起来,供我们开发使用。使用Cocoapods的目的是为了我们能够集中的,自动化的,直观的管理我们的第三方开源库。就像所有语言发展到一定阶段,就一定会出现依赖管理工具一样,如Java下的Maven,Nodejs下的npm。
既然Cocoapods这么好,能提高我们的工作效率,那么如何安装呢?请看我的另一篇博客《iOS包管理工具Cocoapods的安装与使用》。
Cocoapods的大概原理大概是,将所有的依赖库都放到名为Pods的项目中,然后让主项目依赖Pods项目,实现细节有:
(1)Pods项目最终会编译成为libPods.a文件,主项目只需要依赖这个.a文件即可;
(2)对于资源文件,Cocoapods提供了一个名为Pods-resources.sh的bash脚本。该脚本每次项目编译的时候就会执行。将第三方的各种资源文件复制到目标目录中;
(3)Cocoapods通过一个Pods-xccongfig的文件在编译时设置所有的依赖和参数。
目前Cocoapods已经有14名核心开发人员和多达5000个开源项目,其中大部分来自于OC的社区。我们想要更好的发展,必须使用好Cocoapods这些基础设施。就像我们需要使用道路、电网、水源等等来发展一样,这已经是一种重要的生产资料。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
(1)下载开源库的源代码并引入到工程;
(2)向工程中添加开源库所需要的framework;
(3)解决开源库和开源库之间,以及开源库和工程之间的依赖关系,检查重复添加framework的问题;
(4)如果开源库有更新,还需要把旧的开源库删除,重复执行以上的三个步骤;
自从有了Cocoapods,我们就不需要这么麻烦了。那么Cocoapod到底是什么呢?
Cocoapods是用来帮助我们管理第三方开源库的包管理工具,开始于2011年8月12日。它可以解决库与库之间的依赖关系,下载库的源代码,同时可以通过建立Xcode中的workspace来将第三方库和我们的工程联系起来,供我们开发使用。使用Cocoapods的目的是为了我们能够集中的,自动化的,直观的管理我们的第三方开源库。就像所有语言发展到一定阶段,就一定会出现依赖管理工具一样,如Java下的Maven,Nodejs下的npm。
既然Cocoapods这么好,能提高我们的工作效率,那么如何安装呢?请看我的另一篇博客《iOS包管理工具Cocoapods的安装与使用》。
Cocoapods的大概原理大概是,将所有的依赖库都放到名为Pods的项目中,然后让主项目依赖Pods项目,实现细节有:
(1)Pods项目最终会编译成为libPods.a文件,主项目只需要依赖这个.a文件即可;
(2)对于资源文件,Cocoapods提供了一个名为Pods-resources.sh的bash脚本。该脚本每次项目编译的时候就会执行。将第三方的各种资源文件复制到目标目录中;
(3)Cocoapods通过一个Pods-xccongfig的文件在编译时设置所有的依赖和参数。
目前Cocoapods已经有14名核心开发人员和多达5000个开源项目,其中大部分来自于OC的社区。我们想要更好的发展,必须使用好Cocoapods这些基础设施。就像我们需要使用道路、电网、水源等等来发展一样,这已经是一种重要的生产资料。
github主页:https://github.com/chenyufeng1991 。欢迎大家访问!
相关文章推荐
- iOS 清理缓存功能的实现第二种方法
- iOS 清理缓存功能实现第一种方法
- iOS照相机里面那个按钮的点击事件的获取
- DateTools,可能是最好用的iOS日期工具库
- iOS 页面间几种传值方式(属性,代理,block,单例,通知)
- ios66详解之时间戳与时间的转换
- 整理 iOS 9 适配中出现的坑(图文)
- iOS开发系列--音频播放、录音、视频播放、拍照、视频录制
- iOS-归档模型创建和工具类的封装
- iOS讲解迷惑之键盘弹出遮挡输入框的问题
- iOS--正则表达式
- iOS讲解迷惑之Core Data
- iOS--关于审核
- (IOS)BaiduFM 程序分析
- iOS模拟器录屏转gif神器
- Waring:Title set but using a system identifier解决办法
- 2015年最新苹果开发者账号注册流程详解
- 带你秀的飞起——三款移动端H5制作应用体验报告 iOS Android
- iOS-序列化与反序列化
- iOS 数组排序和遍历