Podfile.lock 是在第一次运行 pod install 时生成的
Podfile.lock这个文件是用来锁定版本的,如果没有指定版本的话,如下面这种写法
pod 'AFNetworking' (没有指定版本)
会有两种情况:
第一、存在Podfile.lock,则根据该文件的锁定版本进行
第二、不存在Podfile.lock,则检索最新版本
(pod install优先遵循 Podfile 里指定的版本信息;其次遵循 Podfile.lock 里指定的版本信息来安装对应的依赖库)
但是我想在存在Podfile.lock版本被锁定的情况下进行更新到最新版本,该怎么做?
查看当前远程库里是否有发布新版本
pod outdated --no-repo-update (该命令只针对存在新版本的库)
shoubindeMacBook-Pro:helloWorld shoubintao$ pod outdated --no-repo-update
Analyzing dependencies
The color indicates what happens when you run `pod update`
<green> - Will be updated to the newest version
<blue> - Will be updated, but not to the newest version because of specified version in Podfile
<red> - Will not be updated because of specified version in Podfile
The following pod updates are available:
- AFNetworking 3.1.0 -> 3.2.1 (latest version 3.2.1)
[!] Automatically assigning platform `iOS` with version `12.2` on target `helloWorld` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
[!] There are duplicate dependencies on `AFNetworking` in `Podfile`:
- AFNetworking
- AFNetworking (~> 3.2.1)
发现有3.2.1的新版本
pod update --no-repo-update
shoubindeMacBook-Pro:helloWorld shoubintao$ pod update --no-repo-update
Update all pods
Analyzing dependencies
Downloading dependencies
Installing AFNetworking 3.2.1 (was 3.1.0 and source changed to `https://cdn.cocoapods.org/` from `trunk`)
Generating Pods project
Integrating client project
Pod installation complete! There is 1 dependency from the Podfile and 1 total pod installed.
[!] Automatically assigning platform `iOS` with version `12.2` on target `helloWorld` because no platform was specified. Please specify a platform for this target in your Podfile. See `https://guides.cocoapods.org/syntax/podfile.html#platform`.
使用pod install 的话会被Podfile.lock文件版本锁定
但是如果使用pod update可以忽略不理睬Podfile.lock文件,直接更新远程库中的最新版本
结果已经更新到了最新版本3.2.1