本文只从非常外向的行为来探讨这两个命令的区别。
Pod Update & Pod Install
OC 开发中,不可避免的使用到第三方框架。
在我们的项目中导入和管理第三方框架,需要使用 CocoaPod
命令。
CocoaPod
命令是基于 ruby
.所以,CocoaPod 语法也就是 ruby
语法。
使用 CocoaPod 导入第三方框架的步骤。
step 1 创建 Podfile 文件。
pod init
pod init 产生 Podfile 文件
step 2 在文件内,写入你需要的框架和框架版本。
Podfile 文件指定第三方库的版本
**step 3 ** 执行 pod install
或 pod update
命令,下载第三方库到自己的项目。
pod install & pod update 的区别:
- 当项目中存在一个
Podfile
的文件,不论是调用pod install
还是pod update
都会生成一个Podfile.lock
的文件。 -
Podfile.lock
文件,会锁定被pod install
或者pod update
下载下来的第三方库的版本号。 - 当
Podfile.lock
文件存在时,并且Podfile
文件里没有指定版本号,那么pod install
只会依赖Podfile.lock
里的第三方库的版本(Podfile.lock 文件有啊,里面又有版本号啊,信息最全,我安装库肯定依赖这个啦!!)
image.png
-
pod update
如果Podfile
文件没有指定版本号,Pod update
会下载最新的第三方框架,并且更新Podfile.lock
文件。
image.png
总结
- 如果
Podfile
文件中第三方库指定了版本号,那么使用pod install
和pod update
效果一直。 - 如果
Podfile
文件中没有指定第三方库的版本号。且当前项目是第一次 Pod,那么使用pod install
和pod update
效果一直。 - 如果当前项目中已经有了
Podfile.lock
文件,且Podfile
文件没有指定版本号,那么使用pod install
只会依赖Podfile.lock
文件中的版本。 - 如果当前项目中已经有了
Podfile.lock
文件,且Podfile
文件没有指定版本号,那么使用pod update
会下载框架的最新版本,并修改Podfile.lock
文件中的框架的版本号。
如果指定了版本号,pod install 和 pod update 没有区别。
如果没有指定版本号,第一次使用 pod 命令时,pod install 和 pod update 没有区别。
如果没有指定版本号,不是第一次使用 pod 命令(主要体现在有 Podfile.lock) ,那么使用 pod install 只会依赖 Podfile.lock 里的版本号,而 pod update 则会下载最新版本,并更新 Podfile.lock 中的版本号。
pod install 主要目的是安装第三方库。 pod update 主要是更新第三方库。