在国内这种网络环境下使用 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 元,目前由本人承担费用。