tl; dr uso:
pod update podName
¿Por qué? Lee abajo.
pod updateNO respetará el podfile.lock. Lo anulará.
pod install respetará el podfile.lock
Este diagrama ayuda a comprender mejor las diferencias:

El principal problema proviene del ~>operador optimista aka .
Usar versiones exactas en el Podfileno es suficiente
Algunos podrían pensar que al especificar versiones exactas de sus vainas en su Podfile, comopod 'A', '1.0.0' , es suficiente para garantizar que cada usuario tendrá la misma versión que otras personas en el equipo.
Luego, incluso podrían usar pod update, incluso cuando solo agreguen un nuevo pod, pensando que nunca se arriesgaría a actualizar otros pod porque están fijados a una versión específica en el Podfile.
Pero, de hecho, eso no es suficiente para garantizar que user1 y user2 en nuestro escenario anterior siempre obtengan exactamente la misma versión de todos sus pods.
Un ejemplo típico es si el pod Atiene una dependencia en el pod A2, declarado A.podspeccomo dependency 'A2', '~> 3.0'. En tal caso, el uso de pod 'A', '1.0.0'en su Podfile obligará al usuario1 y al usuario2 a usar siempre la versión 1.0.0 del pod A, pero:
- user1 podría terminar con pod
A2en la versión 3.4(porque eso eraA2 la última versión en ese momento)
- mientras que cuando user2 se ejecuta
pod installal unirse al proyecto más tarde, es posible que obtengan pod A2en la versión 3.5(porque el responsable del mantenimiento A2podría haber lanzado una nueva versión mientras tanto). Es por eso que la única manera de asegurar que cada miembro del equipo de trabajo con las mismas versiones de toda la vaina en cada una de la computadora es utilizar el Podfile.locky utilizar adecuadamente pod installfrente pod update.
El extracto anterior se deriva todo de instalación pod versus la actualización del pod
También recomiendo ver lo que hace un podfile.lockDo
podfile.lockes un . Vea el enlace y el video al que hace referencia.