iOS深入学习(使用CocoaPods进行第三方资源管理)

转载 2015年11月20日 15:25:03

一年前在外包公司呆过,惊叹于Cocoa Pods的强大,也让我有不少迷惑的地方。之前写过一篇Cocoa Pods使用的博客,详细列出了通过Unix终端命令搭建环境的步骤,发布在新浪sae搭建的WordPress博客平台,但是因为没有续费,现在找不到了。

近半年来在新公司,惊叹于老大进行项目依赖关系的处理,我老大主要是对iOS平台的Xcode工具中的Workspace、Project、Target以及各种静态库之间的关系理解的比较透彻,所以他这方面的操作很牛逼。其实跟老大学习这方面的东西,基本能够满足项目资源管理的需求了,但是为什么我还要重新整理Cocoa Pods,总结搭建Cocoa Pods环境的博客呢?我想主要有以下几点:

(1)看很多的iOS博客教程,基本初始的步骤就是要有Cocoa Pods环境;

(2)Cocoa Pods确实是一个方便的工具,特别是在敏捷开发多个项目的时候,一个工具重复使用,大量节约时间;

(3)可以及时更新github上面的开源库代码,只要改动Podfile文件中对应的开源库的版本号即可。


一、Cocoa Pods简介

Cocoa Pods是一个负责管理iOS项目中第三方资源的工具,它的项目源代码在Github上面管理,得益于活跃的Github开发者社区大神们的不断维护,从2011年8月该项目启动以来,它保持活跃更新。开发iOS项目不可避免地要使用第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三方开源库的时间。

在我们有了CocoaPods这个工具之后,只需要将用到的第三方开源库放到一个名为Podfile的文件中,然后在命令行执行$pod install命令,CocoaPods就会自动将这些第三方资源库的源代码下载下来,并且为当前的工程设置好响应的系统依赖和编译参数。

二、Cocoa Pods的安装

(1)安装

安装的方式非常简单,Mac下已经再带了ruby,只要使用ruby的gem命令就可以安装了。打开Mac终端工具,在终端运行下面的命令,

?
1
2
[sudo] gem install cocoapods
pod setup

说明,上面的[sudo]可以省略,这两个步骤都是进行网络请求的过程,所以需要一定的等待时间。

(2)更新

如果我们修改了Podfile文件,那么就需要更新CocoaPods,使用下面的ruby的gem命令来更新,

?
1
[sudo] gem update cocoapods

(3)查找第三方库

可以使用pod search + lib_name来搜索第三方库,查看版本,如下命令所示,

?
1
sudo pod search sdwebImage

说明:SDWebimage是一个用于图片缓存的开源库,是对UIImageView类的扩展。

三、Cocoa Pods的使用

现在我在Desktop/develop文件夹下面新建了一个项目,参考CocoaChina中的一个教程,就是一个完整的天气App,项目名称为SimpleWeather,那么接下来这样操作使用Cocoa Pods,

(1)进入项目SimpleWeather.project所在的文件夹,在终端输入以下命令,

?
1
cd Desktop/develop/SimpleWeather

(2)在该目录中,通过Vim新建Podfile

?
1
vim Podfile

(3)通过i(insert模式),插入如下的语句,

?
1
2
3
4
5
6
platform :ios, '7.0' 
   
pod 'Mantle' 
pod 'LBBlurredImage' 
pod 'TSMessages' 
pod 'ReactiveCocoa'

这样就指定了第三方资源的iOS版本、开源库主要包括:Mantle、LBBlurredImage、TSMessages、ReactiveCocoa,这些都不重要,这里只是示范而已。

输入完成以后退出vim并保存,先Esc然后输入:wq,表示写入并退出

(4)在终端输入$pod install,

?
1
pod install

初始化pod也是一个网络请求下载的过程,稍等一段时间,如果输入的资源名称没有问题,那么过一段时间就会在终端得到初始化成功的提示。

四、通过WorkSpace来进行项目代码的编写

进入项目文件夹,可以看见一个后缀名未.workspace的文件,双击打开。从现在开始我们通过来SimpleWeather.xcworkspace管理项目、编写代码,而不是之前的SimpleWeather.xproj,打开workspace文件,Xcode项目的文件结构如下图所示,

第一个箭头所指的就是SimpleWeather项目;第二个箭头就是Pods帮我们生成的项目,它来管理需要的资源库;第三个箭头指向的就是Podfile里面指定的第三方开源库。

还有需要注意的是每当我们修改了Podfile这个文件之后,一定要在项目所在文件夹执行$pod install命令,还可以执行$pod update来更新类库。


总结:

这里是我在开发过程中简单总结的,有很多没有考虑到的细节,我会根据自己遇到的问题再不断地更新这个博客。在上家公司工作的时候就遇到一些CocoaPods更新时候需要最高权限的问题,我尽量在后面重现,帮助遇到该问题的朋友解决这个问题。

iOS深入学习(使用CocoaPods进行第三方资源管理)(转)

一、Cocoa Pods简介 Cocoa Pods是一个负责管理iOS项目中第三方资源的工具,它的项目源代码在Github上面管理,得益于活跃的Github开发者社区大神们的不断维护,从20...

iOS深入学习(使用CocoaPods进行第三方资源管理)

一年前在外包公司呆过,惊叹于Cocoa Pods的强大,也让我有不少迷惑的地方。之前写过一篇Cocoa Pods使用的博客,详细列出了通过Unix终端命令搭建环境的步骤,发布在新浪sae搭建的Word...

使用CocoaPods进行第三方资源管理(新机配置)

s

c++11 条款18: 使用std::unique_ptr来进行独享所有权的资源管理

Item 18:Use std::unique_ptr for exclusive-ownership resource management. 条款18: 使用std::unique_ptr来进行独...

使用Boost进行资源管理

使用Boost进行资源管理
  • zuolj
  • zuolj
  • 2017年03月30日 10:19
  • 417

[libgdx游戏开发教程]使用Libgdx进行游戏开发(4)-资源管理

游戏中总是有大量的素材资源,我们通常的做法是把要用的图片做成图片集,这样做的好处有两点:1.就是可以利用图像空余空间2.就是可以利用OpenGL的2的倍数优化。我们来看看怎么用。 这里我们使用自己的类...

[iOS] 使用 CocoaPods 管理第三方套件

專案越做越多、越做越大,肯定會使用到第三方套件,因為我們不想重新打造「輪子」,如此能夠加快開發速度,更能專注在專案需求上! 於是我們想要有效率地使用第三方套件,就可以考慮使用CocoaP...

IOS项目使用COCOAPODS管理第三方库(使用文本编辑)

CocoaPods是一个负责管理iOS项目中第三方开源代码的工具。CocoaPods对于iOS项目的作用和npm对于Nodejs项目的作用是一样的。 CocoaPods的安装( Ma...

iOS 第三方框架管理cocoapods 关于Mac 10.11 系统升级无法使用的问题

一、什么是CocoaPods? 前言: 思考如何引入一个第三方框架。 例如: 百度地图SDK、友盟、ShareSDK、 信鸽推送等。 从github或某处下载第三方SDK工程中导入所需要的SDK的...

ios,使用CocoaPods做第三方库的依赖管理

很多语言都有自己的依赖管理工具,比如说Java语言的Maven,ios的依赖管理工具CocoaPods,开发ios项目会不自觉地用到第三方开源库,CocoaPods的出现使得我们可以节省设置和更新第三...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:iOS深入学习(使用CocoaPods进行第三方资源管理)
举报原因:
原因补充:

(最多只允许输入30个字)