发现问题
在巡查公司某个App的时候,发现拉完代码,pod update 之后,控制台出现了大量警告输出,篇幅非常长。
查阅资料
看到警告提示来自Xcodeproj项目,我们先去找到Xcodeproj项目源码。然后全局检索对应的警告信息。
获取到有用信息,输出信息分为2部分,使用 --分隔开。前半部分是isa,后半部分是路径。
在控制台不太好分析,把信息粘贴到编辑器中。
虽然信息很长,但只有6行,(源码在每条输出结束会换行)。每一行的末尾都是一个文件的名字,那么就可以大胆得猜测是这个文件重复引用了。
具体定位
全局搜索并没有发现这个文件,发现这个是一个组件,把组件依赖改成本地,查看其podspec文件。
发现该组件中依赖的子库(subspecs)的resource_bundles中使用的key都为LICENSE。
这样会生成一个LICENSE.bundle文件,这几个子库都会依赖同一个,这样写似乎有点问题。
尝试把key的LICENSE改成 子库名称 + LICENSE
重新pod update 发现已经没有这种警告输出。心情一下顺畅了许多。