1. pod update會更新repo
根據(jù)installer.repo_update來看,pod update默認是更新repo的,而pod install是不更新的。所以我們有時候pod update時會特別慢,就是因為在更新repo赴邻,特別是CocoaPods的官方repo。這時我們就常常會使用pod update --no-repo-update來禁止更新repo啡捶。而pod install是不需要--no-repo-update姥敛,因為它本來就不會更新repo。
但是這是相對于pod 'SDWebImage', '~>3.8.0'這樣的寫法來用的瞎暑。比如原來已經(jīng)安裝過3.8.0版本彤敛,Podfile.lock中就為3.8.0版本,滿足~>3.8.0這個條件了赌,那么pod install的時候是不會更新到最新版的墨榄。 但是pod update會更新到最新版,同時改寫Podfile.lock中的版本號為最新版勿她。而pod 'SDWebImage', '3.8.1'這種寫法的話袄秩,pod install和pod update是一樣的。比如Podfile.lock中原來為3.8.0版本逢并,那么不管怎樣都是不等于'3.8.1'的之剧。 pod install的時候就會重新安裝'3.8.1'版本,同時改寫Podfile.lock中的版本號為'3.8.1'砍聊。
由于Cocoapods建議采用pod ‘React’, ‘~> 0.1.2’這種寫法背稼,所以在制作pod時,接口不向前兼容的更新最好修改版本號的第二位數(shù)玻蝌。
2. pod update與Podfile.lock文件
pod update podName的時候會去Podfile.lock文件檢查這個pod是否安裝過蟹肘,如果沒有安裝過會拋出異常词疼。但是如果直接pod update的話就算Podfile.lock中沒有某個pod,這是不會拋出異常疆前,它會默認幫你先安裝好寒跳,然后寫入到Podfile.lock文件中。
綜上所述:
pod install用在adding/removing pods的時候竹椒。而當你需要更新pods的時候使用pod update。還有最好把你的Podfile.lock文件提交到版本管理中米辐,要不然胸完,就會破壞整個邏輯,沒有了Podfile.lock限制你的Pods中的庫的版本翘贮。