tl; dr використання:
pod update podName
Чому? Читай нижче.
pod updateНЕ поважатимуть podfile.lock. Це перекриє це.
pod install буде поважати podfile.lock
Ця діаграма допомагає краще зрозуміти відмінності:

Основна проблема пов'язана з ~>оптимістичним оператором .
Використання точних версій у програмі Podfileнедостатньо
Дехто може подумати, що вказуючи точні версії своїх стручків у своїх Podfile, якpod 'A', '1.0.0' , достатньо, щоб гарантувати, що кожен користувач матиме таку ж версію, як і інші люди в команді.
Тоді вони навіть можуть використовувати pod update, навіть додаючи новий стручок, думаючи, що це ніколи не ризикне оновити інші стручки, оскільки вони закріплені за конкретною версією в Podfile.
Але насправді цього недостатньо, щоб гарантувати, що user1 та user2 у нашому вищезгаданому сценарії завжди отримають абсолютно таку ж версію всіх своїх стручків.
Один з типових прикладів, якщо стручок Aмає залежність від стручка A2- заявили в A.podspecякостіdependency 'A2', '~> 3.0' . У такому випадку використання pod 'A', '1.0.0'у вашому Podfile дійсно змусить user1 та user2 обидва завжди використовувати версію 1.0.0 стручка A, але:
- user1 може закінчитися поділом
A2 у версії 3.4(тому що це булоA2 остання версія на той час)
- тоді як, коли user2 працює
pod installпід час приєднання до проекту пізніше, вони можуть отримати струк A2у версії 3.5(тому що тех, хто підтримує, A2можливо, тим часом випустив нову версію). Ось чому єдиний спосіб забезпечити роботу кожного члена команди з однаковими версіями всіх стручків на комп'ютері кожного - це використовувати Podfile.lockта правильно використовувати pod installvs.pod update .
Наведений вище уривок був похідний встановлення pod та порівняння pod
Я також настійно рекомендую подивитися, що podfile.lockробити
podfile.lockтаке. Дивіться посилання та відео, на яке він посилається.