项目总结(二)--- CocoaPods的简单介绍与使用

  先谈下,我们为什么要使用CocoaPods,它能为我们做什么吧。

  所有开发过iOS应用的小伙伴们都知道,在整个项目中,第三方库的引用必不可少(特别感谢那些优秀第三方开源库的作者,给我们提供了多大的便捷啊)。而在我们公司开发的项目中,则引用了近20个第三方库(AFNetworking,fmdb,SDWebImage,PinYin4Objc,CocoaAsyncSocket,SSZipArchive,ZBarSDK等等),那么当我引入的时候我需要做以下工作:

  第一:复制开源库的源码文件到项目中去;第二:添加开源库依赖的系统的framework;第三,对于不同的开源库,配置相应的编译参数(例如-fno-objc-arc,-licucore等等);第四:管理这些依赖包的更新。

  这么多操作,也许有人认为很简单,没什么复杂的,慢慢整就是。但是,你不觉得有点淡淡的疼?我们需要的是将尽可能多的时间精力投放到有意义的工作上。而不是傻逼似的操作。一两次练练手是可以的。当然,人类的思维是无法想象的。有问题,就有对应的解决方案。使用CocoaPods就可以以非常少的工作量去完成上述操作。好,知道是什么玩意后,我们需要知道怎么用:

  第一步:安装

    Mac下自带ruby,所以可以使用gem命令进行下载安装,命令如下:

      $ sudo gem install cocoapods

      $ pod setup(做的操作是CocoaPods将他的信息从https://github.com/CocoaPods/Specs(所有项目的Podspec文件都托管在这)下载到~/.cocoapods目录下,可能需要时间较长,你可以使用cd命令,进入到此文件夹,然后使用du -sh *来查看进度)

    如果你发现安装不了,那么你可以尝试如下操作:

      $ gem sources --remove https://rubygems.org/

      $ gem sources -a http://ruby.taobao.org/

      $ gem sources -l

    因为ruby的软件源使用的是亚马逊的云服务,所以被屏蔽了。将其换成国内淘宝的源就行。

    除了上述方案,我们也可以使用CocoaPods的镜像索引来提高下载速度(名为akinliu的兄弟在gitcafe 和 occhina上建立了CocoaPods索引库镜像,都是国内服务器,所以执行索引更新操作时,快很多)。下面就直接上命令:

      $ pod repo remove master

      $ pod repo add master https://gitcafe.com/akuandev/Specs.git (此地址可换为:http://git.oschina.net/akuandev/Specs.git)

      $ pod repo update

  第二步:使用

    在项目的根目录中,建立一个名为Podfile的文件,并编辑,以下面这种格式将依赖库的名字列入文件中就行。格式如下:

      platform:ios

      pod ‘Reachability‘,  ‘~>3.0.0‘

      pod ‘RegexKitLite‘

    然后在终端中使用cd命令进入到项目根目录,执行如下命令:

      pod install

    简直屌爆了,就这么简单。不过要注意下,执行上述命令后会生成一个“。xcworkspace”的文件,一定要使用这个文件来打开工程。还有就是以后要是更改了Podfile文件,得重新执行一次 pod update 命令。

  补充:使用 pod search ‘关键字‘ 命令可以进行第三方开源库的搜索。使用 brew install appledoc 命令可以生成第三方库的帮助文档。另外,也可以为自己的项目创建podspec文件,和使用私有的pods,具体可以自己搜索下。

时间: 2024-10-09 21:13:38

项目总结(二)--- CocoaPods的简单介绍与使用的相关文章

OC基础(十二)内存简单介绍和OC的内存管理

一.内存简单介绍 内存结构 1.运行时分配 (1)栈:用户存放程序临时创建的局部变量(先进后出). (2)堆:动态分配内存段. 2.编译器分配 (1)BSS段:存放未初始化的全局变量和静态变量. (2)数据段:已初始化的全局变量和静态变量. (3)代码段:执行代码的一块区域. 地址由低到高:代码段 -> 数据段 -> BSS段-> 堆 -> 栈 内存分配方式 1.从静态存储区域分配.内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在.例如全局变量,static变量

Android 驱动(二) IIC简单介绍

一. I2C简单介绍 I2C(Inter-Integrated Circuit)总线是一种由 Philips 公司开发的两线式串行总线,用于连接微控制器及其外围设备.I2C 总线最基本的长处就是简单性和有效性,简单体如今接线简单,仅仅有两根线数据线(SCL)和时钟线(SDA),并且 控制简单.所以一些封装较小的器件多使用I2C总线,常见的使用I2C总线的设备有EEPROM.RTC及一些传感器.这里我们介绍下基于linux的I2C设备驱动的编写. I2C设备驱动的编写有多种方式 一种是直接操作CP

【转】深入浅出JMS(二)--ActiveMQ简单介绍以及安装

现实的企业中,对于消息通信的应用一直都非常的火热,而且在J2EE的企业应用中扮演着特殊的角色,所以对于它研究是非常有必要的. 这篇博文介绍一款开源的JMS具体实现——ActiveMQ.ActiveMQ是一个易于使用的消息中间件. 消息中间件 我们简单的介绍一下消息中间件,对它有一个基本认识就好,消息中间件(MOM:Message Orient middleware). 消息中间件有很多的用途和优点: 1. 将数据从一个应用程序传送到另一个应用程序,或者从软件的一个模块传送到另外一个模块: 2.

Hadoop自学笔记(二)HDFS简单介绍

1. HDFS Architecture 一种Master-Slave结构.包括Name Node, Secondary Name Node,Data Node Job Tracker, Task Tracker.JobTrackers: 控制全部的Task Trackers .这两个Tracker将会在MapReduce课程里面具体介绍.以下具体说明HDFS的结构及其功能. Name Node:控制全部的Data Node. 存储了整个文件系统的信息. 全部新建文件,删除,拷贝等,都会在此更新

Rust 中项目构建管理工具 Cargo简单介绍

cargo是Rust内置的项目管理工具.用于Rust 项目的创建.编译.执行,同一时候对项目的依赖进行管理,自己主动推断使用的第三方依赖库,进行下载和版本号升级. 一.查看 cargo 版本号 安装Rust之后,能够使用 cargo --version 查看cargo的版本号信息. $ cargo --version cargo 0.8.0-nightly (28a0cbb 2016-01-17) 二.创建新项目 1.使用 " new 项目名称" 创建新项目 cargo new hel

iOS开发数据库篇—SQLite简单介绍

转自:http://www.cnblogs.com/wendingding/p/3868893.html 一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1)归档:NSCodeing.NSKeyedArchiver (2)偏好设置:NSUserDefaults (3)Plist存储:writeToFile 提示:上述三种方法都有一个致命的缺点,那就是都无法存储大批量的数据,有性能的问题.

【转】 iOS开发数据库篇—SQLite简单介绍

开始学SQLite啦, 原文: http://www.cnblogs.com/wendingding/p/3868893.html iOS开发数据库篇—SQLite简单介绍 一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1)归档:NSCodeing.NSKeyedArchiver (2)偏好设置:NSUserDefaults (3)Plist存储:writeToFile 提示:上述三种方

SQLite简单介绍

一.离线缓存 在项目开发中,通常都需要对数据进行离线缓存的处理,如新闻数据的离线缓存等. 说明:离线缓存一般都是把数据保存到项目的沙盒中.有以下几种方式 (1)归档:NSCodeing.NSKeyedArchiver (2)偏好设置:NSUserDefaults (3)Plist存储:writeToFile 提示:上述三种方法都有一个致命的缺点,那就是都无法存储大批量的数据,有性能的问题. 举例:使用归档 两个问题: (1)数据的存取都必须是完整的,要求写入的时候要一次性写入,读取的时候要一次性

HDFS简单介绍及用C语言訪问HDFS接口操作实践

一.概述 近年来,大数据技术如火如荼,怎样存储海量数据也成了当今的热点和难点问题,而HDFS分布式文件系统作为Hadoop项目的分布式存储基础,也为HBASE提供数据持久化功能,它在大数据项目中有很广泛的应用. Hadoop分布式文件系统(Hadoop Distributed File System.HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统.HDFS是Hadoop项目的核心子项目,是一种具有高容错性.高可靠性.高可扩展性.高吞吐量等特征的分布