概述

任意一款功能完整的APP,其中所涉及的内容都将是来自各个领域各个方面的。如果每个领域的每个方面都要重新开发并给予充分测试,那么1个APP的开发周期将会变得非常漫长,长到足以让房价再涨一倍,长到足以让你失去市场先机,因为你的对手开发同样功能的APP可能只需要你的一半时间不到。

为什么会有这样的差异呢?

荀子曰:“君子性非异也,善假于物也。”

顿子曰:“如果说我看得比别人更远些,那是因为我站在巨人的肩膀上。”

当今开源社区有许多来自世界各地的优秀小伙伴以及他们的第三方库,这些第三方库往往都是免费的,经过了无数实践的验证,还有各路小伙伴的后期跟进和维护。我们为什么不拿来假于物立于肩呢?

正当我们敞开胸怀,准备熊抱开源世界的时候,却发现手动添加和管理第三方库简直是噩梦一场,甚至不需要王子的真爱之吻也足以唤醒睡美人。

时代在召唤一位英雄,这位英雄就是CocoaPods。

CocoaPods是一个Ruby开源项目,主要用于协助XCode管理和处理各个第三方库的依赖关系,以下是其官网向导网址,以供参考。

https://guides.cocoapods.org/

安装CocoaPods

首先,在启动台里打开终端(terminal),并在终端里输入“sudo gem install cocoapods”,按回车后输入电脑用户密码(注意:输入期间不会显示“***”)。这时终端会从网上下载cocoapods并安装,耐心等待一会即可。

安装完成后输入pod并按回车,如果出现类似如下内容,则表示安装成功。

 使用CocoaPods改造工程

首先,我们创建1个名为“cocoapodsTest”的工程,并将其创建在桌面上。

如上图所示,我们看到cocoaTest目录里有3个文件夹和1个名为“cocoapodsTest.xcodeproj”文件。

接下来我们要通过终端进入cocoapodsTest目录,并在该目录下进行cocoapods初始化,从而完成改造。具体步骤如下:

以防冲突,我们先将XCode关闭。

然后我们回到终端,执行“cd Desktop/cocoapodsTest/”进入cocoapodsTest目录。

然后依次执行“pod init”和“pod install”。这时我们会发现cocoapodsTest目录下产生了几个文件,其中一个名为“cocoapodsTest.xcworkspace”。

双击打开 “cocoapodsTest.xcworkspace”,这时我们就看到改造后的工程了。

接下来,我们只要修改文件Podfile和运用终端命令“pod install”就可以添加你想要的第三方库了。

第一个开源库

FSCalendar是一个开源日历,接下来我们就以它为例,用CocoaPods将其添加到我们的工程中去。

提示:开源库的主页(一般指github)多半会有安装方法,有些支持CocoaPods有些则不支持,在使用前注意阅读开源库的相关说明。

首先,修改Podfile添加FSCalendar

在cocoapodsTest目录下使用pod install

拖拽1个View到面板上。

先设置View的约束:上下左右边距都为0。

然后在Class栏里填上FSCalendar

注:由于IB Designables的兼容性问题,此处我们可能会发现一个错误(Failed to render and update auto layout...),以至于Storyboard上看不到模拟的效果(如果你先在Class填上FSCalendar而后再设置约束也可能出现同样的问题)。这个错误只是妨碍我们看到模拟的效果,但并不妨碍实际程序编译运行。

开始编译运行~~~

回目录          下一节

一、初识CocoaPods——XCode的依赖库管理工具的更多相关文章

  1. XCode的依赖库管理工具——CocoaPods

    安装CocoaPods 首先,在启动台里打开终端(terminal),并在终端里输入“sudo gem install cocoapods”,按回车后输入电脑用户密码(注意:输入期间不会显示“***” ...

  2. iOS开发之CocoaPods(objective-c第三方库管理工具)

    介绍: iOS开发中,大多数情况下,我们都须要集成一些第三方依赖库.对于一个稍大的项目,用到的第三方依赖库的数量也很可观.CocoaPods是objective-c第三方库管理工具,方便第三方库的管理 ...

  3. iOS依赖库管理工具之CocoaPods

    CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具.利用 CocoaPods,可以定义自己的依赖关系库 (称作 pods),并且随着时间的变化,在整个开发环境中对第 ...

  4. iOS依赖库管理工具之Carthage

    在iOS开发中,我们常会用CocoaPods来进行依赖库的管理.CoaoaPods 是一套整体解决方案,我们在 Podfile 中指定好我们需要的第三方库,然后 CocoaPods 就会进行下载,集成 ...

  5. IOS开发依赖管理工具CocoaPods

    CocoaPods IOS开发依赖管理工具 CocoaPods is a dependency manager for Swift and Objective-C Cocoa projects. It ...

  6. iOS第三方库管理工具

    作者:彷徨iOS 原文地址1:http://iostree.sinaapp.com/?p=78 原文地址2:http://blog.csdn.net/wzzvictory/article/detail ...

  7. iOS 中的第三方库管理工具

    xcode没有android studio中的gradle进行第三方库管理,但是有第三方的库管理工具CocoaPods,https://github.com/CocoaPods/CocoaPods/w ...

  8. bower——库管理工具

    bower了解: 随着网页功能的复杂化,各种网页效果的实现,现在单一的一个或两个库文件或许已经不能够满足我们的需要,但当有很多的库文件的时候,手动编辑已经不能胜任,对于引入的库文件而言,往往都是牵一发 ...

  9. 转: bower 客户端库管理工具

    概述 常用操作 库的安装 库的搜索和查看 库的更新和卸载 列出所有库 配置文件.bowerrc 库信息文件bower.json 相关链接 概述 注:bower下载安装依赖库实际上是使用git进行下载. ...

随机推荐

  1. python数据类型小测试

    # 1. 有两个列表,其中一个列表a,每一项映射到另一个列表b每一项,先对a排序,要求b的中映射关系位置保持不变,给b也按照排序, (b的8对应a的[1,2], 7对应[3,4] ... ) a = ...

  2. ERROR: invalid byte sequence for encoding "UTF8": 0x00

    1.使用kettle批量导入数据的时候,数据出现了下面的错误.ERROR: invalid byte sequence for encoding "UTF8": 0x00 关键点: ...

  3. Kafka(二)CentOS7.5搭建Kafka2.11-1.1.0集群与简单测试

    一.下载 下载地址: http://kafka.apache.org/downloads.html    我这里下载的是Scala 2.11对应的 kafka_2.11-1.1.0.tgz 二.kaf ...

  4. pandas画图-【老鱼学pandas】

    本节主要讲述如何把pandas中的数据用图表的方式显示在屏幕上,有点类似在excel中显示图表. 安装matplotlib 为了能够显示图表,首先需要安装matplotlib库,安装方法如下: pip ...

  5. mysql查看每个数据库所占磁盘大小

    #查看每个数据库所占磁盘大小 SELECT TABLE_SCHEMA AS "库名", , ) AS "表所占空间(MB)", , ) AS "索引所 ...

  6. selenium webdriver 如何添加cookie

    一. webdriver中常用的cookie方法 webdriver中提供了操作cookie的相关方法: get_cookies()                  获得cookie信息 add_c ...

  7. Hibernate根据实体类自动创建表

    Hibernate支持自动建表,在开发阶段很方便,可以保证hbm与数据库表结构的自动同步. 如何使用呢?很简单,只要在hibernate.cfg.xml里加上如下代码 Xml代码<propert ...

  8. 解决 gem 添加sources的时候提示 too many connection resets的问题

    今天在安装ruby.gem的时候,发现在添加淘宝源的时候提示出错信息:"too many connection resets-",后来发现淘宝镜像已经没有了,改成ruby chin ...

  9. javaScript---RegExp

    字符串是编程时涉及到的最多的一种数据结构,对字符串进行操作的需求几乎无处不在.比如判断一个字符串是否是合法的Email地址,虽然可以编程提取@前后的子串,再分别判断是否是单词和域名,但这样做不但麻烦, ...

  10. [LeetCode] Rotated Digits 旋转数字

    X is a good number if after rotating each digit individually by 180 degrees, we get a valid number t ...