我們在托管第三方的時(shí)候都是用到 podfile 文件,在項(xiàng)目啟動(dòng)以后也會(huì)生成一份 podfile.lock 文件。本篇文章說一下這個(gè) podfile 文件的生成時(shí)機(jī),工程什么時(shí)候使用,以及項(xiàng)目啟動(dòng)過程中遇到的一些 bug (關(guān)于podfile的bug)。
這里提一下 podfile 文件,該文件里面記錄的是我們項(xiàng)目中用到的第三方
而 podfile.lock 文件是記錄使用的第三方的版本號(hào)(只記錄最后一次更新)
那這個(gè)文件在什么使用會(huì)生成 ? 什么時(shí)候又會(huì)被用到 ? 這兩個(gè)問題要從我們常用的 pod 指令說起,常用的指令有 $ pod install
和 $ pod update
終端里面輸入 --help 指令 大致了解一下 這兩個(gè)指令 :
help.png
除了上面的兩個(gè)指令以外還有一個(gè)中間的指令 repo ,在通過
pod install
或 pod update
指令安裝框架前,都會(huì)先執(zhí)行 pod repo update
指令,將服務(wù)器最新的框架下載到本地,項(xiàng)目中是否安裝最新版本的框架,取決于安裝方式: pod install(指定版本)
和 pod update(最新版本)
-
$ pod install
- 如果 podfile.lock 文件不存在,會(huì)根據(jù) podfile 文件安裝第三方框架,并生成 podfile.lock 文件
- 如果 podfile.lock 文件存在,會(huì)根據(jù) podfile.lock 文件的版本號(hào)來安裝第三方框架,即便服務(wù)器中有最新的版本,通過 pod install 指令也不會(huì)安裝最新的第三方框架,只會(huì)根據(jù) podfile.lock 中記錄的版本來安裝
-
$ pod update
- 根據(jù) podfile 文件安裝第三方框架,將所有第三方框架更新到最新版本,并且創(chuàng)建一個(gè) podfile.lock 文件覆蓋掉原文件
-
$ pod install/update --no-repo-update
- 安裝框架前不會(huì)執(zhí)行 pod repo update ,意味著不去檢查服務(wù)器版本,直接使用本地緩存的框架版本