升级cocopods1.6.1遇到的问题

公司统一pod版本1.4.0,因为要在老项目中接入flutter,flutter依赖的pod必须在1.5.0以上,所以被迫升级。

一、cocopods安装指定版本

cocopods安装及升级的文章随便百度就能出来,这里不做多说~

参考文章:

cocospod 版本更新与更新到指定版本

二、升级之后遇到的问题

pod1.4.0项目podfile文件引用:

本文引用demo为项目分享的本地组件化写的demo。其中用到友盟分享,在pod1.4.0版本没有出现任何问题,升级到1.6.1之后出现头文件找不到问题,如下:

为此自己做了一系列排查:

1、检查clean项目,删除pod库,重新pod install

2、检查framework search paths路径,检查header search path路径

3、升级UMCShare为最新版本

均未排查出问题。

最后,在主项目文件里引用#import 发现不会报错,但是在本地组件库里引用会出现'UMShare/UMShare.h' file not found的报错。

于是猜想可能是自己组件化的过程存在问题,又是一顿排查。。。

这是要逼死老夫啊~~

最后定位到组件库的podspec文件:

最后的依赖被注释掉,打开试了下,完美运行。。。。

s.dependency表示当前podspec类库对外部第三方库的依赖.如果使用pod package打包sdk时候,这里的dependency会被自动添加前缀,防止重复引用冲突.而且这里的依赖只能是pod库(公有或者私有)的内容.

后话:

当时做组件化的时候为了方便依赖的库后期升级,所以把podspec里面的依赖去掉,采用podfile里面统一pod库的指定版本,结果埋下这么大的坑。。。

感谢!

你可能感兴趣的:(升级cocopods1.6.1遇到的问题)