美文网首页#iOS#HeminWon
CocoaPods 不同版本协同开发问题

CocoaPods 不同版本协同开发问题

作者: 青波志 | 来源:发表于2016-01-04 17:50 被阅读1138次

提出问题

今天临时想在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 不同版本协同开发问题

    本文链接:https://www.haomeiwen.com/subject/akhahttx.html