在國內(nèi)這種網(wǎng)絡(luò)環(huán)境下使用 CocoaPods,即使翻了墻,你也很蛋疼。執(zhí)行一個 pod update 命令,輕則五分鐘,慢則一小時都有可能。
針對這種情況,我開發(fā)了一個小工具,用于解決這個問題。
源碼以及工具下載地址 https://github.com/PonyCui/FastPod
借助 FastPod,你可以在一至兩分鐘內(nèi)完成 pod update 操作。
使用方法
- 下載 fastpod 文件,復(fù)制到 /usr/local/bin 目錄下。
- 命令行執(zhí)行
sudo chmod 777 /usr/local/bin/fastpod。 - cd 到需要執(zhí)行
pod update的目錄下,執(zhí)行fastpod命令即可。 - 如果需要使用國內(nèi)鏡像,則執(zhí)行
fastpod --use-mirror命令。
原理
- 通過分析 Podfile 文件,在服務(wù)器直接計算需要使用的 podspec.json 并返回至 Cli 程序。
- 程序會自動將 podspec.json 替換至 ~/.cocoapods/repos/master 目錄下。
- 將 podspec.json 中的 source 替換為 GitHub ZIP 或者 墻內(nèi) ZIP。
- 程序自動執(zhí)行
pod update --no-repo-update以完成pod update等效操作。
風險
- 將 podspec.json 內(nèi)容替換存在代碼被注入風險,這些風險來自于 FastPod 服務(wù)器被攻破或是 HTTP 中間人注入。
- FastPod 只作研究使用,不承擔這些風險。
- 你可以自行下載 Server 端的代碼進行本地部署,F(xiàn)ork FastPod 客戶端代碼,修改其中的 apiBase 地址,重新 Build 后使用,以保障安全。
后續(xù)
- 后續(xù)會繼續(xù)維護該工具,歡迎提交 issue 或是 PR。
- 服務(wù)器使用阿里云云主機,費用一年 499 元,目前由本人承擔費用。