概述

任意一款功能完整的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. Winform Focus()函数不起作用 解决办法

    private void Form_Load(object sender, EventArgs e) { this.txtName.Focus(); } 光标到不了txtName.可能的原因 TabI ...

  2. UIWebView的常用方法

    //webview导航栏类型enum UIWebViewNavigationType : Int { case LinkClicked case FormSubmitted case BackForw ...

  3. python全栈开发day112-CBV、flask_session、WTForms

    1.Flask 中的 CBV class Index(views.MethodView): # methods = ["POST"] # decorators = [war,nei ...

  4. Spark安装部署| 运行模式

    Spark 一种基于内存的快速.通用.可扩展的大数据分析引擎: 内置模块: Spark Core(封装了rdd.任务调度.内存管理.错误恢复.与存储系统交互): Spark SQL(处理结构化数据). ...

  5. rabbitmq重启时报错,并导致erlang崩溃和Rabbit的常用命令

    -------------------------------------------------------------------------------------------------- R ...

  6. c#一步一步实现ORM(二)

    c#一步一步实现ORM(二) 上一篇描述了简单的思路,这一片我们来稍微细化一下 1插入的时候忽略某些字段 public int Insert<T>(T o, params string[] ...

  7. 【AtCoder】【DP】【思维】Prefix Median(AGC012)

    模的是这位神犇的代码:Atcoder AGC012F : Prefix Median 题意: 在动态中位数那道题上做了一些改动.给你一个序列a,可以将a重新任意排序,然后对于a序列构造出b序列. 假设 ...

  8. [是男人就过8题——Pony.ai]Perfect N-P Arrays

    [是男人就过8题--Pony.ai]Perfect N-P Arrays 题目大意: 一棵\(n(\sum n\le5\times10^6)\)个结点的树,每个结点都有一个括号.求树上一个合法的括号序 ...

  9. Anaconda介绍、安装及使用教程

    https://www.jianshu.com/p/62f155eb6ac5 Anaconda介绍.安装及使用教程 Python是一种面向对象的解释型计算机程序设计语言,其使用,具有跨平台的特点,可以 ...

  10. Linux 手册惯用的节名

    linux 手册将