First of all, I'd like to mention that I've read the cocoapods guide https://guides.cocoapods.org/using/pod-install-vs-update.html
Still it seems somewhat unclear why should we commit Podfile.lock, in a setup where everyone is using only pod install command and we have all versions specified strictly in the podfile. The .lock file seems redundant then.
Let's say we have a project that uses ReactiveSwift. ReactiveSwift has dependency on Result pod in its podspec as follows:
s.dependency 'Result', '~> 3.2'
My assumption is that I shouldn't really care what the ReactiveSwift depends on, since i'm just gonna do a pod install of my strictly specified ReactiveSwift version.
For the pods that I develop myself, i can influence their podfile and podspec to strictly specify one version that i would like to use.
So the simplified flow in my project without podfile.lock would be:
Develop a feature, if it needs a change in a dependency version - just directly specify it in a podfile, without ever commiting the Podfile.lock
Merge the feature to master branch, the CI then runs a pod install command with the new podfile
Now the CI has all correct versions of pods its using and can correctly build my app
Would the Podfile.lock be needed in that scenario ?