问题:在咱们日常开发中,难免会用到一些第三方库(比方AFNetworkingSDWebImage…),而这些第三方库或许会引用一些其他第三方库,所以咱们又要引进其他第三方库。(古语:子子孙孙无穷尽也) 另外,假如第三方库更新了,还要手动重新引进新的库。(总之便是很麻烦)

  • 需求:是否能有个东西,能协助开发者们管理第三方库?在第三方库更新时,能经过一些简略指令,及时更新第三方库?

所以,强壮的CocoaPods诞生了。 今天咱们就来介绍一下CocoaPods,以及CocoaPods的“装置”和“根本运用”。


一、CocoaPods简介:

CocoaPods是开发iOS项目的库管理东西。它具有超越55,000个库,并在超越300万个应用程序中运用。经过CocoaPods可以协助咱们高雅地扩展项目,快捷的导入第三方开源库。 (附:CocoaPods官网)


二、CocoaPods的环境搭建:

翻开终端:

  • 第一步:首先在装置CocoaPods之前,需求装置好Ruby环境。

  • 第二步:运用ruby-china的Ruby镜像源。 先用指令:$ gem sources --remove https://rubygems.org/。 再用指令:$ gem sources -a https://gems.ruby-china.com/。 为了验证Ruby镜像源是ruby-china,可运用指令:$ gem sources -l

  • 第三步:装置cocoaPods: 运用指令:sudo gem install cocoapods (若无读写权限:用sudo gem install -n /usr/local/bin cocoapods代替。)


三、CocoaPods的根本运用:

步骤如下:

1. 先经过terminal找到项目目录,并新建Podfile。

运用指令:pod init

2. 翻开Podfile文件。

运用指令:open Podfile

3. 搜索需求导入的结构。

运用指令:pod search 结构名

4. 把所要导入的结构信息写入Podfile文件。
platform:ios,'10.0'
target :你的项目名字 do
pod'AFNetworking','~>3.2.1'
pod'SDWebImage'
...
end

关于版别规模:

符号 含义
> 0.1 高于0.1版别(不包含0.1版别)的恣意一个版别
>= 0.1 高于0.1版别(包含0.1版别)的恣意一个版别
< 0.1 低于0.1版别(不包含0.1版别)的恣意一个
<= 0.1 低于0.1版别(包含0.1版别)的恣意一个
~> 0.1.2 版别 0.1.2的版别到0.2 ,不包括0.2。
等效于>= 0.1.2而且 <0.2.0,而且始终是你指定规模内的最新版别。
不指定 默以为最新版别
5. 装置第三方结构

运用指令:pod install (PS:假如当时网络情况不好,可以不更新索引库,直接用指令pod install --no-repo-update即可。)


四、举例

这儿小编举了一个导入AFNetworkingSDWebImage结构w的例子。

  1. 咱们新建一个工程:QiCocoaPods。

  2. 经过终端找到工程所在目录 并 新建Podfile文件,如下图:

    iOS CocoaPods专栏(一)—— 简介、安装及基本使用

  3. 运用指令:pod search AFNetworking 就出现如下界面:

    iOS CocoaPods专栏(一)—— 简介、安装及基本使用

  4. 运用指令:open podfile翻开Podfile文件。写入结构信息,如图:

    iOS CocoaPods专栏(一)—— 简介、安装及基本使用

  5. 装置指定第三方库:运用指令pod install。如下图:

iOS CocoaPods专栏(一)—— 简介、安装及基本使用

  1. 翻开.xcworkspace文件,开始编程。(.xcworkspace代替了.xcodeproj

五、弥补

  • 弥补一:pod installpod update的差异?

答: pod install:装置类库,第一次运用时,用pod install,装置所需求的一切类库。后续运用时,会引进之前没有引进的类库。 pod update:更新一切的类库到指定版别规模内的最新版别。

  • 弥补二:pod installpod install --no-repo-update的差异?

答: pod install:在装置前会更新本地repo库。 pod install –no-repo-update:不会更新本地repo库,直接装置pod。