先說一下pod官方庫
終端 cd ~/.cocoapods/repos/ ,
進入該文件夾下可以發現一個master/文件夾,繼續進Specs/,會發現很多很多以數字命名的文件夾,這里其實就是官方管理所有pod庫的一個資源庫,如果一直cd,進到最底層,會發現其實到最后是每一個庫的.podspec.json,這里涉及到.podspec是一個什么東西,以及關于pod庫的制作,可以自行查閱資料。
我們平時開發pod update或者pod install , 這里其實 pod的工作就是根據pod庫名在master/Specs/中找到對應的庫,若指定版本則找到指定版本的podspec,否則找最高版本的podspec,找到后根據podsepc文件中的配置下載指定的庫資源。
那么pod repo update 的工作就是更新pod資源目錄,也就是master下的資源,簡單說 如果有一個第三方庫發布了一個最新的版本,如果你不執行pod repo update,那么你的本地是不會知道有一個最新版本的,還會一直以你本地的資源目錄為準。那么你永遠都拿不到這個庫的最新版本。
可能有些人會問了,我平時從來不會用pod repo update也可以拿到最新的庫,那是因為在使用pod update是默認會執行一遍pod repo update ,所以會發現如果你的pod庫引用多了,每次pod update都很慢,網絡如果不好更是經常會斷掉,就是因為你在更新pod時,也更新了資源目錄
-
pod update 工作流程 :
先拉取遠程最新目錄,再根據目錄中的資源重新更新一遍pod如果你的podfile中每個庫都指定了版本還好,如果沒有,那么每次都是拉一遍最新庫, 這時候就要用到命令
pod update --no-repo-update
這條命令表示只根據本地目錄更新庫,不需要拉取遠程
再說一下有些時候會引用一些私有庫 , pod repo update 會把 ~/.cocoapods/repos/這個目錄下所有的資源庫目錄都更新一遍,有時候不想更新master,只想更新某個具體的私有庫怎么辦。。命令。。。強大而又實用
pod repo update ~/.cocoapods/repos/***/
需要更新哪個就指定哪個文件夾就可以了