1.项目背景:cordova 项目的文件夹集成,项目目录已不是正常的cordova 项目的目录
1.过程:添加podfile,然后podinstall,然后删除项目中的第三库文件夹集成的,逐个删除,然后command+B 的时候,会保错。
Podfile.lock 和Manifest.lock是用来进行校验的。在多人协作的过程中,多次代码合并后文件内部意外产生更改。就会导致cocopod更新第三方库后一直报错说Podfile.lock 和 Manifest.lock: No such file or directory。
1.这个错误查了所有资料,还是没有解决,其中有篇文章提供了完整的4种解决方案最终还是没解决。最终解决方案是 把pod项目-debug.xcconfig 的配置文件 #include 到 项目中 bulid.xcconfig 文件,问题已解决,核心问题貌似是这些配置没有配置bulid.xcconfig ,所以会报错 。问题告一段落,但是当我去打包的时候,achieve 不了,报错还是找不到pod项目-debug.xcconfig 的文件,我用的#include 命令执行的,查资料无果。忽然灵机一动,就把pod项目-debug.xcconfig 的内容直接copy 到bulid.xcconfig 文件 中,发现可以achieve 了,很高兴。
2.后续过程是 项目中的cordova版本 要升级,为什么呢。我们的项目背景是要支持iOS 10 ,但是现在我们项目中使用的cordova 版本并不支持,所以我们改了源码,简单来说注释了iOS11 或更高版本使用的API,而那些API 对我们得项目没啥影响。本来想着升级过后的版本能支持下iOS10,但是并没有。但是,我们必须要使用最新的,因为这样子做,我们不必去考虑cordova 去适配将来出现的更高版本的iOS系统了。
升级方式有三种:1.本地文件直接替换,这种方式替换麻烦,且容易出错,删除多点或少点啥,报错没商量。
2.命令行升级,这种正常项目的目录结构下还可以,什么叫正常目录
这种就是,用命令行生产的项目结构,而我们的项目并不是这样的项目结构,这有点坑,导致我们一种升级不上去,用命令行的方式。解决方式:重现这种目录结构,正在研究中。。。
3.pod 这种应该是最合适的,但是也出现了一个问题,pod引用的三方和项目最低支持版本的兼容问题。
3.podfile 我们写的最低系统是 iOS11,而项目要求适配iOS 10,所以Xcode 运行在iOS10系统的手机下,装不上,unstall this app,而不是装上之后运行闪退。这种方案被pass,挺可惜的,因为在cocoapod 集成这个框架,这边Xcode 报错也不少,也一一解决了。
现在只剩命令行了和直接替换了.直接替换相当痛苦,删错东西的概率太高,随之而来的项目的各种莫名其妙的bug,这种方式是无奈之选,最终选了命令行,可前面有多少坑,暂未可知。