Carthage due to mutually incompatible requirements

问题描述

image

我想在 Cocoapods 进行执行 pre_command 命令时候执行 Carthage 一些命令生成我需要 Framework

关于怎么做可以参考下面的文章链接

如何快速制作支持源码和 Framework 切换的 Cocoapods 库

但是执行的时候提示进行 Picker 时候1.0.0版本和0.1.0版本不兼容。当时我就奇怪了,我1.0.0修改了项目的结构是不兼容老版本了,Carthage 怎么知道的?

起初我以为是本地有0.1.0的老版本,所以进行 Picker 时候会报错。但是又想每次 pod 发布的时候都是临时的文件夹不会出现冲突呀。

但是又找不到具体的问题解决掉,所以就尝试找到 Picker 主目录删掉,再次尝试还是不行。

抱着尝试的态度问了一下组里面的俊哥,俊哥看了我工程库发现 Carthage 文件引用自己的0.1.0版本,循环引用导致的。

此时此刻我才恍然大悟,原来是我进行 Developer Pods 的时候集成在示例Target 时候,自动生成我又没有忽略上传,所以就Carthage 进行集成的时候发现项目目录存在Carthage 就循环集成了。

解决办法

删掉工程里面 Carthage 引用自己库的语句。

推荐阅读更多精彩内容