tl; dr use:
pod update podName
Por quê? Leia abaixo.
pod updateNÃO respeitará o podfile.lock. Ele irá substituí-lo.
pod install respeitará o podfile.lock
Este diagrama ajuda a entender melhor as diferenças:

O principal problema vem do ~>operador otimista, também conhecido como .
Usar versões exatas no arquivo Podfilenão é suficiente
Alguns podem pensar que, especificando versões exatas de seus pods em seus Podfile , comopod 'A', '1.0.0' , é suficiente para garantir que cada usuário tenha a mesma versão das outras pessoas da equipe.
Eles podem até usar pod update, mesmo quando apenas adicionam um novo pod, pensando que nunca arriscaria atualizar outros pods porque eles estão fixos a uma versão específica noPodfile .
Mas, na verdade, isso não é suficiente para garantir que o usuário1 e o usuário2 em nosso cenário acima sempre obtenham exatamente a mesma versão de todos os seus pods.
Um exemplo típico é se o pod Atem uma dependência do pod A2- declarado em A.podspeccomo dependency 'A2', '~> 3.0'. Nesse caso, o uso do pod 'A', '1.0.0'no seu Podfile forçará o usuário1 e o usuário2 a sempre usar a versão 1.0.0 do pod A, mas:
- user1 pode acabar com o pod
A2na versão 3.4(porque isso foiA2 a versão mais recente da época)
- enquanto que o user2 é executado
pod installao ingressar no projeto posteriormente, eles podem obter o pod A2na versão 3.5(porque o mantenedor de A2pode ter lançado uma nova versão nesse meio tempo). É por isso que a única maneira de garantir que cada trabalho membro da equipe com as mesmas versões de todo o pod em cada computador é usar o Podfile.locke devidamente usar pod installvs. pod update.
O trecho acima foi todo derivado de instalação pod vs. da atualização do pod
Eu também recomendo assistir o que podfile.lockfaz
podfile.locké. Veja o link e o vídeo que ele faz referência.