拉取仓库时,记得执行下submodule指令

iOS工程,模块A是通过模块B被动依赖的,但是今天需要修改模块A的代码,所以将模块A的仓库clone到本地后,修改项目的依赖路径进行本地依赖。但是修改后,一直编译不通过,提示找不到某个头文件,但是换成远端依赖后就可以了,百思不得其解。

排查步骤如下:

  • 修改版本,清理本地编译缓存都做了一遍,不行
  • 修改模块B的依赖方式,从远端改为本地,不行
  • 对比Podfile.lock文件,发现没有本质区别
  • 直接运行模块A自带的Example项目,发现也不行

到了第四步,问题就被收窄了,为啥模块A自带的Example项目都无法运行,依然提示找不到某个目录下的文件,这不合理,因为模块A开发时,Example项目必须是能正常运行。那么就去看看这个缺失的文件到底是否存在?当打开缺失的文件目录时,发现目录下文件是空的,看来文件确实不存在,那文件去哪里了?先确认下当前分支是否正确,发现分支是main,先切换到指定的tag处,以为能解决的,发现依然不行。
突然灵光一现,是不是缺失文件夹下的代码通过submodule引入的?赶紧执行下git submodule命令,发现在拉取代码,欧克,终于定位到问题了。。。。

总结

如果项目用了submodule,一定要在Readme文档中说明,不然后续的人鬼知道依赖了submodule…

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值