概述

任意一款功能完整的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. 获取显卡的cuda算力

    获取nvidia显卡的cuda算力,在编译cuda相关代码时候可能用到. 前提: 安装了visual studio 安装了cuda(cuda应该在vs之后安装) 安装了cmake 代码 https:/ ...

  2. openKM部署二次开发,eclipse环境

    1.下载openKM_install_forwin安装包,配置jdk环境,start openKM,访问localhost\OpenKM,用户:okmAdmin 密码:admin.查看是否启动成功.安 ...

  3. logrotate命令

    logrotate是个十分有用的工具,它可以自动对日志进行截断(或轮循).压缩以及删除旧的日志文件,例如,你可以设置logrotate,让/var/log/foo日志文件每30天轮循,并删除超过6个月 ...

  4. php操作数据库获取到的结果集mysql_result

    判断取出的结果集是否为空集: $sql="select adminPwd from adminaccount"; //判断查询是否有数据 if(mysqli_num_rows($r ...

  5. fiddler基本功能介绍

    一.几种主流的抓包工具的对比: Wireshark:通用的抓包工具,抓取信息量庞大,详细.通常需要过滤才可容易得到有用信息.如果只抓http请求个人认为有点大材小用. Firebug.httpWatc ...

  6. css position各种定位及区别

    position定位: static:静态定位;是position的默认值,元素框正常生成,也就是没有定位时的正常显示. relative:相对定位; 用法一:元素相对自身的原位置偏移某个距离,但是原 ...

  7. C#使用CefSharp碰到的坑(一)

    使用CEFSharp做模拟提交的话,在高版本下会出现一个神奇的错误: 如果站点使用的是阿里提供的验证控件的话,就是那种拖动条的,如果是使用CEFSharp的新版本的(目前我是测试过70的) ,会出现拖 ...

  8. LeetCode题解 | 215. 数组中的第K个最大元素

    在未排序的数组中找到第 k 个最大的元素.请注意,你需要找的是数组排序后的第 k 个最大的元素,而不是第 k 个不同的元素. 示例 1: 输入: [3,2,1,5,6,4] 和 k = 2 输出: 5 ...

  9. Docker操作笔记(一)使用镜像

    使用镜像 一)获取镜像 从Docker镜像仓库获取命令的格式是: docker pull [选项] [Docker Registry 地址[:端口号]] 仓库名[:标签] 具体的选项可以通过docke ...

  10. XVIII Open Cup named after E.V. Pankratiev. Grand Prix of Saratov

    A. Three Arrays 枚举每个$a_i$,双指针出$b$和$c$的范围,对于$b$中每个预先双指针出$c$的范围,那么对于每个$b$,在对应$c$的区间加$1$,在$a$处区间求和即可. 树 ...