CocoaPods的安装和使用

一、CocoaPods简介

1、什么是CocoaPods

CocoaPods是专门为iOS工程提供的一个第三方类库的管理工具。其具体原理和 Mac OS自带的 Homebrew 有点类似,都是从 GitHub 下载索引,然后根据索引下载依赖的源代码。

2、为什么使用CocoaPods

在开发iOS应用时,经常使用到很多第三方开源类库,比如AFNetWorking、Masonry等等,手动加入不仅流程复杂,而且如果所用的开源库升级了,还需要手动删除、下载、再引入,大大增加了工作量。通CocoaPods,我们只需要简单的命令就可以实现第三方开源类库的安装升级,方便地管理每个第三方开源类库的版本。

二、cocoaPods的安装

1.安装Ruby

在安装CocoaPods之前,首先要要保证已经在本地安装好了Ruby环境,因为CocoaPods是基于Ruby语言的。

Mac系统默认自带有Ruby环境。检测是否安装Ruby:

$ gem -v

安装则会提示当前Ruby版本。
gem是一个管理Ruby库和程序的标准包,用于构建、上传、下载以及安装gems包。

2、安装CocoaPods

确认已经安装了Ruby的情况下,就可以安装CocoaPods了,安装的命令:

$ gem install cocoapods

稍等一会就可以安装完成,检查是否安装成功:

$ pod --version

成功提示版本号,则说明安装成功。

三、Cocoaods的使用

1、查找第三方类库

看其是否支持需要导入的第三方类库,比如查找MJExtension,终端输入:

$ pod search MJExtension

第一次搜索时需要创建索引,所以可能用的时间比较久,等一会就可以了。

2、创建Podfile文件:

(1)在进行Podfile创建之前,需要切换到当前工程所在的目录下:

$ cd 当前工程的路径

(2)在终端输入如下命令,创建Podfile文件,如果已经创建,则会直接打开已经存在的Podfile文件:

$ vim Podfile

需要导入的第三方类库都要在这里面写上。

3、编辑Pod file文件

(1)打开Podfile文件:
可以选择用系统自带文本编辑器打开进行直接编辑,也可以在Vim下进行编辑。
Vim是一款功能非常强大的文本编辑器

在Vim下进行编辑时,首先按‘i’(即insert)进入编辑模式,然后我们可以根据需要,在文件中写入需要导入的第三方类库。Podfile文件的格式大致如下:

其中:
1、platform:是指需要导入的第三方类库希望在哪个平台被编译,这里希望采用iOS8.0进行编译。
:如果在platform后面没有写东西的话,默认是在iOS4.3,OSX 10.6,tvOS 9.0以及watchOS 2.0的情况下编译的。很多库都是从6.0或者7.0才开始支持的,自然编译不通过。所以记得要注意这点,后面要跟上具体的platform的参数。

2、target:指定具体的配置是适配在哪个target,这里的target就是Xcode中的当前项目cocoapodsDemo。
:如果对于一些项目中你的不同target引用的框架不同的话,可以采用这个进行区分。

3、pod: 以 pod '类库名' 参数 的格式说明要导入的第三方类库。
:参数一般是版本号,可以是大于、等于和小于等,比如'>4.0', '>=4.0', '<4.0', '<=4.0',其中'~>4.0'就是指4.0版本;当然也可以是其它类型的参数,比如tag、branche、commit等。

(2)编辑完后,按esc退出编辑模式,并按shift+zz保存并退出。

4、安装第三方类库

编辑完Podfile文件之后,就可以利用CocoPods下载第三方类库了。在终端中运行以下命令:

$ pod install

安装成功之后,你会发现出现了一个.xcworkspace文件,这正是你刚刚运行pod install命令产生的新文件。除了这个文件,还多了另外一个文件“Podfile.lock”和一个文件夹“Pods”。

:之前我们一直是双击TcocoapodsDemo.xcodeproj打开项目,以后我们就要双击cocoapodsDemo.xcworkspace打开了.

5、使用第三方类库

在工程中引入其头文件,如MJExtension类库,可以#import <MJExtension.h>或者#import<MJExtension/MJExtension.h>,就可以在项目里使用MJExtension了。

四、增加新的第三方类库

如果使用过程中我还想添加其他的第三方怎么办呢?只要在Podfile里面接着添加,然后终端再执行pod install就可以了。

五、更新第三方类库

第三方类库们都有人在维护升级,我们需要隔断时间更新下我们工程中第三方库的版本。此时,只需要终端输入命令pod update就可以了。

六、删除第三方类库

当我们需要去掉某个第三方库时,只需要在Podfile删除该引入该库的语句,然后执行pod update或者pod install就可以了。

七、常见问题

(1)在输入#import "MJExtension.h"的时候出现提示
解决这个问题的办法是在工程的Build Settings搜索Search,然后在User header search paths中添加$(SRCROOT)并选择recursive。如下图:

(2)pod install或者pod update慢的问题
原因在于本地的repo库太长时间没有更新了,当执行以上两个命令的时候,会升级CocoaPods的specs仓库。如果不想在install和update的时候升级specs库,可以使用参数忽略掉,加参数的命令如下:

$ pod install --no-repo-update
$ pod update --no-repo-update

(3)CocoaPods更新不了时
CocoaPods需要实时更新,但是,自己更新不了时,需要ruby来更新,
当控制台命令不能更新ruby时,需要用系统的人homebrew来安装更新ruby,命令为:

brew install ruby

Ruby更新成功,CocoaPods也更新成功。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一.CocoaPods是什么? CocoaPods是一个用Ruby写的、负责管理iOS项目中第三方开源库的工具,C...
    王小祺阅读 734评论 1 0
  • 看一遍就会的CocoaPods的安装和使用教程 什么是CocoaPods? CocoaPods是专门为iOS工程提...
    Marray阅读 1,486评论 1 1
  • 一、CocoaPods是什么? 当你开发iOS应用时,会经常使用到很多第三方开源类库,比如JSONKit,AFNe...
    John_LS阅读 1,499评论 0 2
  • 一、什么是CocoaPods 在iOS应用开发过程中,有很多地方需要借助第三方代码,来提高我们的开发效率。但是,一...
    MorpLCP阅读 3,721评论 1 3
  • 王宝强离婚案现在是男女老少尽人皆知,本来不想来凑热闹,但是忍不住看了视频推送的关于王宝强的一期综艺节目《熟悉的味道...
    门前的美好阅读 301评论 0 2