问题背景
在一个Xcode项目内使用CocoaPods来集成各个模块,需要频繁改动所依赖的Pod组件。
在改动Pod组件时,常用的做法是先将Podfile中指向的Pod路径改为本地路径,修改完成之后再切回远端路径。
将Pod组件引入方式改为CocoaPoads结合Git Submodule的方式,可以避免频繁修改Podfile中的Pod路径。
CocoaPoads结合Git Submodule
优缺点
好处:
修改组件前,不需要在Podfile里切换本地路径
修改组件时,git可告知项目仓库的状态,避免遗忘提交组件的更改
修改组件后,不需要在Podfile里修改commit id,只需要通过git命令提交submodule的commit id,更自动化
方便查看代码的commit history和每行的作者信息,不用先切换本地路径
缺点:
拉取远程仓库时,需要多执行一条submodule更新命令,不过我们可通过执行下面的配置在执行git pull时自动更新子模块
设置子模块
- 将项目中新建一个目录,设置为git submodule,指向存放Pod组件源码
git submodule add [submodule_git_url] [submodule_dir_name]
git commit -am "..."
- 将Podfile中指向的Pod路径改为本地路径