问题:在我们日常开发中,难免会用到一些第三方库(比如
AFNetworking
、SDWebImage
...),而这些第三方库也许会引用一些别的第三方库,于是我们又要引入别的第三方库。(古语:子子孙孙无穷尽也)
另外,如果第三方库更新了,还要手动重新引入新的库。(总之就是很麻烦)
- 需求:是否能有个工具,能帮助开发者们管理第三方库?在第三方库更新时,能通过一些简单命令,及时更新第三方库?
于是,强大的CocoaPods
诞生了。
今天我们就来介绍一下CocoaPods
,以及CocoaPods
的“安装”和“基本使用”。
一、CocoaPods简介:
CocoaPods是开发iOS项目的库管理工具。它拥有超过55,000个库,并在超过300万个应用程序中使用。通过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。
作者微信:
关注我们的途径有:
QiShare(简书)
QiShare(掘金)
QiShare(知乎)
QiShare(GitHub)
QiShare(CocoaChina)
QiShare(StackOverflow)
QiShare(微信公众号)
推荐文章:
iOS 扫描二维码/条形码
iOS 了解Xcode Bitcode
iOS 重绘之drawRect
iOS 编写高质量Objective-C代码(八)
奇舞周刊
网友评论