iOS开发 - CocoaPods安装和使用教程

一、CocoaPods 简介

1. 什么是 CocoaPods

CocoaPods 是 iOS 的包管理工具。

2. 为什么要使用 CocoaPods

在开发 iOS 项目时,经常会使用第三方开源库,手动引入流程复杂,并且库之间还存在依赖关系,更增加了手动管理的难度。开源库如果升级了,你也想用最新版本,还需要重新手动导入,这大大增加了工作量。但用了 CocoaPods 后,安装和升级都只是一句命令的事情,让你可以专于业务本身。

二、CocoaPods 安装

1. 安装 Ruby

CocoaPods 基于 Ruby 语言开发而成,因此安装 CocoaPods 前需要安装 Ruby 环境。幸运的是 macOS 系统默认自带 Ruby 环境,如果没有请自行查找安装。检测是否安装 Ruby:

$ gem -v
3.0.3.1

安装则会提示当前 Ruby 版本。gem 介绍:gem 是一个管理 Ruby 库和程序的标准包,它通过 Ruby Gem(如 http://rubygems.org/ )源来查找、安装、升级和卸载软件包,非常的便捷。

2. 更换 gem 源

因为国内网络的问题导致 gem 源间歇性中断,原因你懂的。因此我们需要更换 gem 源,使用国内的 gem 源 https://gems.ruby-china.com/

第一步:移除默认的源

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

第二步:指定国内的源

$ gem sources -a https://gems.ruby-china.com/

第三步:查看是否更换成功

$ gem sources -l
*** CURRENT SOURCES ***

https://gems.ruby-china.com/

如果是 https://gems.ruby-china.com/,则更换成功。

3. 安装 CocoaPods

终于开始安装 CocoaPods,说实话本人都快忘记是在写 CocoaPods 的教程了,囧!确认改成国内源后执行以下命令进行安装:

$ sudo gem install cocoapods

稍等片刻即可安装完成,输入以下命令检测是否安装成功:

$ pod --version
1.11.2

成功则会提示 CocoaPods 版本,到此安装已告一段落。

三、CocoaPods 使用实例

首先新建一个 iOS 工程 MyDemo,在该工程中演示 CocoaPods 的使用。

1. 创建 Podfile

进入工程的根目录,创建 Podfile 文件,创建完毕的目录如下图:
创建 Podfile 文件后的工程目录结构

2. 编辑 Podfile

根据需要,我们可以在 Podfile 文件中写入我们需要的第三方库,这里以 AFNetworking 和 MJRefresh 为例,Podfile 内容如下:

platform :ios, '7.0'
pod 'AFNetworking', '~> 3.0'
pod 'MJRefresh','~> 3.1'

这段代码的意思是,当前类库支持的iOS最低版本是iOS 7.0, 要下载的两个类库的版本分别为 3.0、3.1。

3. pod install 导入第三方库

这时候,你就可以利用CocoPods下载AFNetworking和MJRefresh类库了。在终端中进入工程根目录,运行以下命令:

$ cd /Users/myl/Desktop/IOS/MyDemo
$ pod install
Analyzing dependencies
Downloading dependencies
Installing AFNetworking (3.0.4)
Installing MJRefresh (3.1.0)
Generating Pods project
Integrating client project

[!] Please close any current Xcode sessions and use `MyDemo.xcworkspace` for this project from now on.
Sending stats

注意最后一句话,意思是:以后打开工程就用 MyDemo.xcworkspace 打开,而不是之前的.xcodeproj文件。你也许会郁闷,为什么会出现.xcworkspace文件呢。这正是你刚刚运行pod install命令产生的新文件。除了这个文件,你会发现还多了另外一个文件“Podfile.lock”和一个文件夹“Pods”。点击 MyDemo.xcworkspace 打开工程之后,你会发现工程目录多了一些,你会惊喜地发现,AFNetwoking和MJRefresh已经成功导入项目了!

新的目录结构:
CocoaPods_03.png

4. pod update 更新第三方库

如果需要引入或删除类库,只需要修改Profile文件后执行以下命令即可:

pod update

5. 工程中使用类库

如果是OC项目,只需在使用的文件中导入该类库的头文件即可:

#import "AFNetworking.h"
#import "MJRefresh.h"

如果是Swift项目,使用OC的类库,需要新建桥接头文件(MyDemo-Bridging-Header.h),在头文件中导入要使用的类库:

#import <AFNetworking/AFNetworking.h>
#import <MJRefresh/MJRefresh.h>

四、常见问题

1. install,update速度慢

出现原因:你本地的repo库太长时间没有更新了
解决办法:pod repo update

原因在于当执行以上两个命令的时候会升级CocoaPods的specs仓库,如果不想在install,update的时候升级specs库,可以使用参数忽略掉
pod install --no-repo-update
pod update --no-repo-update

2. 导入Swift类库

导入Swift语言编写的类库时需要加use_frameworks!,下面以导入Alamofire为例:

platform :ios, '8.0'
use_frameworks!
pod 'Alamofire', '~> 1.3'

3. 官方文档

对于Podfile参数细节,可以查阅官网,再此不做过多介绍。
http://guides.cocoapods.org/


交友互动:

本文首发于马燕龙个人博客,欢迎分享,转载请标明出处。
马燕龙个人博客:https://www.mayanlong.com
马燕龙个人微博:http://weibo.com/imayanlong
马燕龙Github主页:https://github.com/yanlongma

标签: swift, iOS, cocoapods

不错,不错,对我有帮助! 我要打赏他!GO ->

已有 6 条评论

  1. [...]本文首发于马燕龙个人博客,欢迎分享,转载请标明出处。[...]

  2. 写的不错哈,支持一下

  3. 这个文章写的好,转走了! http://www.xevip.cn

  4. 首先得要有一台mac

添加新评论