问题:在咱们日常开发中,难免会用到一些第三方库(比方
AFNetworking
、SDWebImage
…),而这些第三方库或许会引用一些其他第三方库,所以咱们又要引进其他第三方库。(古语:子子孙孙无穷尽也) 另外,假如第三方库更新了,还要手动重新引进新的库。(总之便是很麻烦)
- 需求:是否能有个东西,能协助开发者们管理第三方库?在第三方库更新时,能经过一些简略指令,及时更新第三方库?
所以,强壮的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
即可。)
四、举例
这儿小编举了一个导入AFNetworking
、SDWebImage
结构w的例子。
-
咱们新建一个工程:QiCocoaPods。
-
经过终端找到工程所在目录 并 新建Podfile文件,如下图:
-
运用指令:
pod search AFNetworking
就出现如下界面: -
运用指令:
open podfile
翻开Podfile文件。写入结构信息,如图: -
装置指定第三方库:运用指令
pod install
。如下图:
- 翻开
.xcworkspace
文件,开始编程。(.xcworkspace
代替了.xcodeproj
)
五、弥补
- 弥补一:
pod install
与pod update
的差异?
答: pod install:装置类库,第一次运用时,用pod install,装置所需求的一切类库。后续运用时,会引进之前没有引进的类库。 pod update:更新一切的类库到指定版别规模内的最新版别。
- 弥补二:
pod install
与pod install --no-repo-update
的差异?
答: pod install:在装置前会更新本地repo库。 pod install –no-repo-update:不会更新本地repo库,直接装置pod。