
Thanks to the Podfile.lock, running pod install on this hypothetical project at a later point in time on a different machine will still install RestKit 0.10.3 even if a newer version is available. Running pod install will install the current version of RestKit, causing a Podfile.lock to be generated that indicates the exact version installed (e.g. For example, imagine the following dependency specified in the Podfile: This file is generated after the first run of pod install, and tracks the version of each Pod that was installed. Whether or not you check in the Pods directory, the Podfile and Podfile.lock should always be kept under version control. There won't be any conflicts to deal with when performing source control operations, such as merging branches with different Pod versions.

This is especially true when using zip files in the Podfile.) (Technically there is no guarantee that running pod install will fetch and recreate identical artifacts when not using a commit SHA in the Podfile. GitHub) for all Pods are available, CocoaPods is generally able to recreate the same installation.

You can find a detailed explanation about when to use each and what are the intended usage of each command in this dedicated guide. Especially, they often use pod update where they should instead use pod install. Many people are confused about when to use pod install and when to use pod update.
