pod install:根据Podfile、Podfile.lock和当前已经安装的Pod情况(即Pods目录下的Pod库),来决定安装、删除或更新一些Pod库
install结束后,会将安装的pod库以及所有直接、间接依赖的pod库写入Podfile.lock中
一、pod install不更新pod
- 假设创建一个新工程,Podfile中引入库A,写法是
pod A, '1.0'
,执行pod install - 完成后,Podfile.lock中库A的版本就是是1.0了。现在我们修改Podfile中A的依赖为
pod A
(假设当前A库的最新版本是1.1) pod A
的写法其实是想将库A更新到1.1版本,但此时执行pod install后,发现A还是1.0版本- pod install时,check到Podfile.lock中记录了1.0版本,check Podfile时,发现1.0的版本也可以满足
pod A
,所以没有进行任何更新
二、pod install如何更新pod
- 假设创建一个新工程,Podfile中引入库A,写法是
pod A, '1.0'
,执行pod install - 完成后,Podfile.lock中库A的版本就是是1.0了。现在我们修改Podfile中A的依赖为
pod A, 1.1
(假设当前A库的最新版本是1.1) - 进行pod install,发现A版本则更新到了1.1
- pod install时,check到Podfile.lock中记录了1.0版本,check Podfile时,发现1.0的版本也无法满足
pod A, 1.1
,所以下载1.1版本的A
三、pod update做的工作是:不关心Podfile.lock的内容,根据pod update后面指定的pod(或不指定时则更新Podfile中所有的pod),结合Podfile中的版本信息,更新相应pod,并将更新结果写入Podfile.lock