CocoaPods 不同版本协同开发问题

提出问题

今天临时想在podfile 里面新增一个第三方类库,按照正常方式添加后,敲入命令pod install 后,成功引进类库。但是编译的时候始终报错:Pods-XXXX(工程名,后同)-frameworks.sh: No such file or directory,通过比对文件发现,在Pods ->Targets Support Files -> Pods-XXXX 下果然没有该文件。

分析问题

由于同事已经使用了最新版本的CocoaPods来添加类库,在本地默认生成了Pods-XXXX-frameworks.sh 文件并且已经提交至Git服务器了,而我用低版本的CocoaPods来添加类库,本地并不会生成该文件。

解决问题

升级CocoaPods到最新版,再Pod install一下就好啦~,由此得出的结论:同一个公司的人如果都需要进行pod install 操作的话,最好要确保每个人使用的cocoaPods的版本号一致,避免会出现一些莫名其妙的问题。

CocoaPods如何升级

目前支持增量更新. 下面一行命令就OK了

sudo gem install cocoapods

该命令就直接将最新的cocoaPods重新安装了(当然也就升级了,不过要确保gem是最新的,有没有升级成功最后把cocoaPods的版本号打印出来就知道啦),查看当前版本的cocoaPods可以用命令pod --version,如果这样升级失败了,不妨先更新gem(国内有可能需要切换源,我是没有切换的),具体方法如下:

$ sudo gem update --system // 先更新gem,国内需要切换源
$ gem sources --remove https://rubygems.org/
$ gem sources -a https://ruby.taobao.org/
$ gem sources -l
\*\*\* CURRENT SOURCES \*\*\*
https://ruby.taobao.org/
$ sudo gem install cocoapods // 安装cocoapods
$ pod setup

Podfile.lock

当你执行pod install之后,除了 Podfile 外,CocoaPods 还会生成一个名为Podfile.lock的文件,Podfile.lock 应该加入到版本控制里面,不应该把这个文件加入到.gitignore中。因为Podfile.lock会锁定当前各依赖库的版本,之后如果多次执行pod install 不会更改版本,要pod update才会改Podfile.lock了。这样多人协作的时候,可以防止第三方库升级时造成大家各自的第三方库版本不一致。

参考链接

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • CocoaPods 是什么? CocoaPods 是一个负责管理 iOS 项目中第三方开源库的工具。CocoaPo...
    朝洋阅读 25,772评论 3 50
  • 项目组件化、平台化是技术公司的共同目标,越来越多的技术公司推崇使用pod管理第三方库以及私有组件,一方面使项目架构...
    swu_luo阅读 22,375评论 0 39
  • 1、指甲的月牙特别大:指甲的月白特别大又特别多的话,就表示这个女孩子到了40、50岁都还很厉害,因为月白是代表女人...
    情话铺阅读 1,167评论 0 2
  • 认识老郑之前,从未想过结婚,认识老郑之后,从未后悔嫁他。 01 周五晚上,我加完班回家已是九点多,走进小区,看见家...
    九月sep99阅读 716评论 3 8