学习 CocoaPods 那些事儿

引 言

针对 Objective-C || Switf 2.2 初级开发者来说在进行iOS开发的时候,总免不了使用第三方的开源库,比如AFNetworking、SwiftyJSON、Alamofire等等。我们都需要先下载开源库的源代码,然后将其引入工程,再向工程中添加开源库使用到的framework,以解决开源库和工程之间的依赖关系,而这繁杂的配置过程很是让人觉得痛苦。

CocoaPods 就会自动将工程需要的第三方开源库的源码下载下来,并且为工程设置好相应的系统依赖和编译参数。也就是说这种繁杂的配置工作就交给CocoaPods去完成,而我们只需要做好少量的配置工作就okay了!!

什么是CocoaPods

CocoaPods 是开发 OS X 和 iOS 应用程序的一个第三方库的依赖管理工具。

CocoaPods的安装步骤

一、修改Ruby路径

1. 查看Ruby环境

一般情况,Mac OS X已经安装了Ruby环境,检查环境是否正确与Ruby版本可以使用以下命令:

ruby --version

2. 移除本来的Ruby路径

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

3. 添加淘宝镜像

gem sources -a https://ruby.taobao.org

4. 检查镜像是否正确

gem sources -l

二、安装CocoaPods

输入以下命令后,需要输入管理员密码,等待安装(输入密码时没有占位符提示,密码输入完后回车,可能要等一会儿才有反应)

sudo gem install cocoa pods

这一步完成后,你可以看到大量的信息在终端中出现,你只需要观察最后一行信息是否为

数字 + gems installed

若是,那CocoaPods就安装完成了。

CocoaPods的使用(Switf2.2版)

1.创建一个名为Demo_Switf的工程

2.以Alamofire为例,导入该库到工程中

可以通过以下命令进行查看,确定Alamofire是否支持CocoaPods。

pod search 'Alamofire'

学习 CocoaPods 那些事儿_第1张图片

当然也可以到Github上查看Alamofire是否支持CocoaPods信息

学习 CocoaPods 那些事儿_第2张图片

3. 创建Podfile文件

首先,进入 Demo_Switf 工程文件的目录(文件路径)

cd /Users/rimi/Desktop/Demo_Switf 

其次,初始化CocoaPods环境(系统自动创建Podfile文件)

pod init

再次,编辑Podfile文件

vim Podfile

然后,在终端中输入字母 i,表示将要插入内容到Podfile。

此时待终端最后一行出现”–INSERT–”后,在target……end之间写入需要导入的库。

学习 CocoaPods 那些事儿_第3张图片

学习 CocoaPods 那些事儿_第4张图片

输入完成以后,按下Esc键退出编辑状态,同时输入以下命令,保存并退出

:wq

4. 通过Pod导入库

输入以下命令,开始导入

pod install

学习 CocoaPods 那些事儿_第5张图片

当终端出现类似下面红框的提示后,表示导入完成

学习 CocoaPods 那些事儿_第6张图片

学习 CocoaPods 那些事儿_第7张图片

Tips:
这句话的意思大概就是:请关闭当前的Demo_Switf工程,从现在起运行”xcworkspace”这个项目。也就是说:以后打开项目就用”xcworkspace”打开,而不是之前的”xcodeproj”文件。

学习 CocoaPods 那些事儿_第8张图片

5. 打开工程添加框架

打开 Demo_Switf.xcworkspace 工程,你会惊喜地发现,Alamofire 已经成功导入项目。
学习 CocoaPods 那些事儿_第9张图片

注:此时导入需要的头文件(import Alamofire)时发现编译并不能通过,所以这个时候我们则需要在Switf工程中设置Target -> General ->Embedded Binaries 添加工程需要的三框架

学习 CocoaPods 那些事儿_第10张图片

学习 CocoaPods 那些事儿_第11张图片

添加完成

Tips:置于 Switf 工程为什么通过CocoaPods导入时,最后还需手动添加Embedded Binaries,而在OC工程中不需要手动导入。个人认为可能是Switf2.2的缘故,待版本更新后可能这个步骤就不再有了。

6.工程测试

编译成功。

你可能感兴趣的:(Objective-C,ios开发,CocoaPods)