多个命令产生框架问题与 cocoapod 的使用有关

如何解决多个命令产生框架问题与 cocoapod 的使用有关

我有两个框架“GeneralABC”和“GeneralXYZ”。两者接口相同,业务逻辑不同。我在 podspec 中将它们的 module_name 定义为 General,这样其他使用我的框架的项目只需要定义他们想要在他们的 Podfile 中使用的通用框架(GeneralABC 或 GeneralXYZ),而无需更改它们的代码。 (即在他们的代码文件中,他们总是可以说 import General)

在我的示例项目中,我有两个目标,每个目标使用不同的通用框架。我的 Podfile 如下:

target 'Example_ABC' do
    pod 'GeneralABC'
end

target 'Example_XYZ' do
     pod 'GeneralXYZ'
end

但是,当我尝试在 xcode 中构建目标之一时,出现以下错误 留言

Multiple commands produce '/MYPATH/General.framework':
1) Target 'GeneralABC' has create directory command with output 'MYPATH/General.framework'
2) Target 'GeneralXYZ' has create directory command with output 'MYPATH/General.framework'

Multiple commands produce '/MYPATH/General.framework':
1)Target 'GeneralABC' has link command with output 'MYPATH/General.framework'
2)Target 'GeneralXYZ' has link command with output 'MYPATH/General.framework'

可以通过两种方法解决

  1. 将工作区设置更改为旧版构建系统。但我认为这不是未来的解决方案。

  2. 删除 Podfile 中的一个目标,并在每次构建目标时 pod update。然而,它对于维护和我们的构建过程来说并不是那么好。

有什么解决方案可以让我操作我的 Podfile 来解决问题吗?

我非常感谢任何建议。 感谢您的关注!

解决方法

我找不到我想要的确切解决方案(1 个 pod 文件维护所有目标)。然而,经过与我们的队友的一些讨论。我们提出了另一种解决方案,这样我们就不必担心已弃用的遗留构建系统。

解决方法如下:

创建 2 个 podfile(即 1 个用于目标 'Example_ABC',另一个用于 'Example_XYZ')

创建 2 个工作区文件(即 1 个用于目标 'Example_ABC',另一个用于 'Example_XYZ')

一个迷你 shell 脚本,用于链接 Podfile_ABC 或 Podfile_XYZ,何时执行 pod install/update/deintegrate

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其他元素将获得点击?
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。)
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbcDriver发生异常。为什么?
这是用Java进行XML解析的最佳库。
Java的PriorityQueue的内置迭代器不会以任何特定顺序遍历数据结构。为什么?
如何在Java中聆听按键时移动图像。
Java“Program to an interface”。这是什么意思?
Java在半透明框架/面板/组件上重新绘画。
Java“ Class.forName()”和“ Class.forName()。newInstance()”之间有什么区别?
在此环境中不提供编译器。也许是在JRE而不是JDK上运行?
Java用相同的方法在一个类中实现两个接口。哪种接口方法被覆盖?
Java 什么是Runtime.getRuntime()。totalMemory()和freeMemory()?
java.library.path中的java.lang.UnsatisfiedLinkError否*****。dll
JavaFX“位置是必需的。” 即使在同一包装中
Java 导入两个具有相同名称的类。怎么处理?
Java 是否应该在HttpServletResponse.getOutputStream()/。getWriter()上调用.close()?
Java RegEx元字符(。)和普通点?