iOS Xcode SPM 无法对超类进行解密

dtm*_*ada 9 xcode ios swift-package-manager

我的应用程序由许多项目(框架)组成,每个主要功能一个,一个通用框架,其中包含我需要在多个功能中访问的各种内容。

我正在使用 Xcode 11 的 Swift Package Manager 添加依赖项。

通用框架包含一个 RxSwift 依赖项,我在整个项目中都使用它。

当我尝试在我的任何功能框架中使用 RxTest 时,我遇到了问题。

如果我通过 SPM 直接将 RxTest 添加到测试目标并运行测试,我会得到

未能从损坏的名称“其他类名”中分解“类名”的超类

和许多

类“类名”在“通用框架路径”和“测试目标路径”中实现

所有这些类都与 Rx 相关。'failed to demangle' 错误使测试崩溃,并且仅在我尝试初始化 RxTest 类时发生。

如果我将 RxTest 添加到通用框架中,测试运行良好,但是当我运行应用程序时,我得到

dyld:库未加载:@rpath/XCTest.framework/XCTest

这是有道理的,因为我将一个测试框架添加到一个非测试框架中,这不是一件好事。

所以基本上,我无法获得测试和应用程序都运行良好的配置。应用程序运行或测试运行。

我怎样才能让它工作?只有当我在测试目标上构建它时,有没有办法将 RxTest 包含在通用框架上?还是应该只将 RxTest 包含在测试目标中而我缺​​少一些配置?

Zde*_*pič 2

具有 SPM 依赖项的 Xcode 无法处理目前相互依赖的多个目标中的相同 SPM 依赖项。目前每个依赖项只需位于单个目标中。我现在还不知道为什么,但我会尝试调查更多并提交错误(如果尚未提交)。