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