iOS开发-CocoaPods实战
CocoaPods 是开发 OS X 和 iOS 应用程序的第三方库的依赖管理工具,如果是正常的开发不需要使用的第三方的代码,CocoaPods是不需要的,但是从实际情况上,为了提高开发效率,CocoaPods算是一个必备的开发工具之一。一般如果是简单的引用,CocoaPods的优势不是很明显,当项目用到的第三方应用程序越来越多的时候,CocoaPods可以根据定义的依赖关系,统一管理,第三开源库如果有更新,直接更新Pods文件即可。
CocoaPods基础
CocoaPods是用 Ruby 写的,并由若干个 Ruby 包 (gems) 构成的,所以有的时候我们会看到有人说CocoaPods利用依赖管理构建的依赖管理工具,CocoaPods中用到了Ruby管理工作的包(gem)。CocoaPods应该是iOS最常用最有名的类库管理工具了,绝大部分有名的开源类库,都支持CocoaPods。CocoaPods是用Ruby实现的,要想使用它首先需要有Ruby的环境。OS X系统默认的已经可以运行Ruby了,如果安装CocoaPods只需要在终端中输入一个命令:
sudo gem install cocoapods
CocoaPods是以Ruby gem包的形式被安装的,安装的时候大概需要十分钟左右,需要翻墙,如果不翻墙的花可以通过淘宝的Ruby镜像访问CocoaPods。如果gem包版本不够新,可以更新一下gem:
gem update
如果需要升级CocoaPods可以使用安装的时候的同样的命令:
sudo gem install cocoapods
CocoaPods实战
安装了CocoaPods接下来最重要的就是进行实战,使用CocoaPods管理项目,新建一个CocoaPodsDemo的项目,终端中切换到项目所在的路径:

新建一个Podfile文件,效果如下:

编辑Podfile,可以open Podfile打开,也可以直接编辑,最近在GitHub上看到一个项目https://github.com/romaonthego/RETableViewManager,如果想引用此项目的文件,Podfile中输入以下命令,保存退出:
pod 'RETableViewManager', '~> 1.6'
之后执行终端中执行命令Pod install,会多生成三个文件Pods文件夹主要是存放第三方类库的代码,CocoaPodsDemo.xcworkspace工作环境,Podfile.lock文件,效果如下:

通过我们看到多了一个Podfile.lock文件,这是 CocoaPods 创建的最重要的文件之一。它记录了需要被安装的 pod 的每个已安装的版本。如果你想知道已安装的 pod 是哪个版本,可以查看这个文件。开源项目效果如下:

Form表单的效果如下:

CocoaPods基本的使用大概就是这样了,能满足基本的使用,如果有其他的需求可以关注以下官网https://cocoapods.org/~
CocoaPods有可能被墙,如果使用CocoaPods被卡住:Updating local specs repositories,--no-repo-update:
pod install --verbose --no-repo-update
iOS开发-CocoaPods实战的更多相关文章
- iOS开发 - CocoaPods的常见使用方式
1 CocoaPods 的安装 1.1 作用: 帮助管理和维护第三方框架,快速的搜索到第三方框架, 然后自动集成到工程里面来, 并编译成一个libPod.a的静态库给我们项目用 1.2 理解: 1. ...
- iOS开发 cocoapods的安装以及使用
一.概要 iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三方库(从一个坑出来,又 ...
- iOS开发CocoaPods使用
一.为什么用CocoaPods iOS开发时,项目中会引用许多第三方库,CocoaPods(https://github.com/CocoaPods/CocoaPods)可以用来方便的统一管理这些第三 ...
- iOS开发 - CocoaPods安装和使用教程
一.CocoaPods简介 1.什么是CocoaPods CocoaPods是iOS的包管理工具. 2.为什么要使用CocoaPods 在开发iOS项目时,经常会使用第三方开源库,手动引入流程复杂,并 ...
- iOS开发项目实战——Swift实现图片轮播与浏览
近期開始开发一个新的iOS应用,自己决定使用Swift.进行了几天之后,发现了一个非常严峻的问题.那就是无论是书籍,还是网络资源,关于Swift的实在是太少了,随便一搜全都是OC实现某某某功能.就算是 ...
- iOS开发 - CocoaPods远程私有库从0到1
1. 创建主工程 路径:/Users/Funky/Desktop/CocoaPodRemoteLib/MyMainProject/MyMainProject.xcodeproj 2. 在码云(htt ...
- iOS开发项目实战——Swift实现ScrollView滚动栏功能
手机作为一个小屏设备,须要显示的信息往往无法在一个屏幕上显示,此时就须要使用到滚动栏,当然除了像TableView这样能够自带滚动功能的. 假设一个界面上View较多,那就必须要使用到ScrollVi ...
- iOS开发-UIScreenEdgePanGestureRecognizer实战
UIScreenEdgePanGestureRecognizer名字很长,而且关于其文档也是少的的可怜,苹果官方给的唯一的一个属性是edges,文档中的解释是这样的: A UIScreenEdgePa ...
- IOS开发-项目实战-点赞功能的实现
实现思路: 1.每一条新闻就是一个cell,在cell上添加点赞按钮. 2.让cell的控制器成为自定义cell的代理,将点击了哪一个cell放在代理方法中传出去. 3.并将这条新闻的ID和当前用户的 ...
随机推荐
- 利用Microsoft Sql Server Management studio 创建数据库的示例
利用Microsoft Sql Server Management studio 创建数据库的示例方法如下: 一.打开安装好的Microsoft Sql Server Management stu ...
- java集合系列之LinkList
概要 第1部分 LinkedList介绍第2部分 LinkedList数据结构第3部分 LinkedList源码解析(基于JDK1.6.0_45) 第5部分 LinkedList示例 转载请注明出处 ...
- Node.js用6行代码1个JS文件搭建一个HTTP静态服务器
Node.js是一个基于Chrome的JavaScript运行时的用户以轻松构建快速.可扩展的网络应用平台. Node.js使用事件驱动.非阻塞I/ O模型,使它轻量级.高效和完美的适用于运行在分布式 ...
- Xtreme9.0 - Car Spark 动态规划
Car Spark 题目连接: https://www.hackerrank.com/contests/ieeextreme-challenges/challenges/car-spark Descr ...
- 上传APP加入视频预览--精简点名
上传APP加入视频预览--精简点名 在为精简点名APP制作视频预览时的坑: 1.视频预览不能太长.也不能太短15-30s就好.我录制的是18s 2.视频的帧数不能太大.也就是说你在录制视频的时候.要慢 ...
- linux后台开发核心技术
3. 常用STL的使用 3.1. string (1)string类的实现(使用strlen.strcpy.strcat.strcmp等,注意判NULL). (2)C++字符串和C字符串的转换:dat ...
- C#消息队列(RabbitMQ)零基础从入门到实战演练
一.课程介绍 如果您从工作中之听过但未有接触过消息对队列(MQ),如果你接触过一点关于MQ的知识,如果没有这么的多如果的话......,那么阿笨将通过本次<C#消息队列零基础从入门到实战演练&g ...
- VC2010中"Include Directories" 和 "Additional Include Directories"的区别
右键一个Project,可以发现有两个地方设置Include的相关目录: 1. VC++ Directories -> Include Directories2. C/C++ -> Gen ...
- The .NET weak event pattern in C#
Introduction As you may know event handlers are a common source of memory leaks caused by the persis ...
- android图片的缓存--节约内存提高程序效率
如今android应用占内存一个比一个大,android程序的质量亟待提高. 这里简单说说网络图片的缓存,我这边就简单的说说思路 1:网络图片,无疑须要去下载图片,我们不须要每次都去下载. 维护一张表 ...