最近又要准备面试了,重新捡起来cocoapods,突然发现了这个问题,看了网上说的很多解释,但感觉总是差强人意,以下是我的一些见解和疑惑,遇到类似问题的同学可以一起参考讨论一下。
原因:
使用pod spec lint检验私有库是否合法时,如果不指定source,则cocoapods会默认创建仓库trunk,然后将使用到的依赖库的索引信息从远端拉到本地的trunk仓库,用于校验。
当提交私有的pod到自己的私有仓库时,cocoapods会检查~/.cocoapods/repos/下的索引,发现trunk仓库中的索引和master中的有重复情况,就会导致[!] Found multiple specifications类问题的产生。
处理方法:
1)删除~/.cocoapods/repos/路径下的trunk仓库;
2)每次检查.podspec时,即使用pod spec lint时,指定公共spec的source,http/https或git都可以,即pod spec lint --use-libraries --allow-warnings --sources='https://github.com/CocoaPods/Specs.git'或pod spec lint --use-libraries --allow-warnings --sources='git@github.com:CocoaPods/Specs.git'
其他:
为什么每次检查.podspec时,cocoapods要把检查过的索引,单独放到一个仓库,是方便后续编译检查时,获取库不用查找全部spec文件么
关于`[!] Found multiple specifications`类问题的产生和处理方法
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- 问题描述 环信的EaseUI的pod文件依赖于MWPhotoBrowser,而MWPhotoBrowser又依赖于...
- Github地址zhangxiaomeng1 (ZXM) · GitHub 正文目录 一. 创建公有Pod库 1、...
- 1.CocoaPods的安装 <已经了解CocoaPods的同学请直接跳到第3步或第4步> 1.1作用: 帮助管理...