Ios 使用Swift软件包管理器时,单元测试中“缺少必需的模块‘XYZ’”

Ios 使用Swift软件包管理器时,单元测试中“缺少必需的模块‘XYZ’”,ios,swift,xcode,Ios,Swift,Xcode,我在Xcode 11上的iOS应用程序上使用Swift Package Manager,遵循 一切看起来都很好,只是单元测试现在不起作用了 发生这种情况是因为目前Xcode 11.1,2019年10月SPM中心未自动链接到测试目标 我们可以通过以下方式手动链接: 单击您的Xcode项目文件,例如标题 从侧栏中选择测试目标,例如HeadlinesTests 导航到顶部栏中的构建阶段。 在使用库链接二进制文件阶段,从SPM依赖项中添加所需的库这看起来像SPM包中的白色建筑经过研究,我通过将-Xcc

我在Xcode 11上的iOS应用程序上使用Swift Package Manager,遵循

一切看起来都很好,只是单元测试现在不起作用了


发生这种情况是因为目前Xcode 11.1,2019年10月SPM中心未自动链接到测试目标

我们可以通过以下方式手动链接:

单击您的Xcode项目文件,例如标题 从侧栏中选择测试目标,例如HeadlinesTests 导航到顶部栏中的构建阶段。
在使用库链接二进制文件阶段,从SPM依赖项中添加所需的库这看起来像SPM包中的白色建筑经过研究,我通过将-Xcc-fmodule map file=$PROJECT\u TEMP\u ROOT/GeneratedModuleMaps/macosx/.modulemap添加到测试目标中的其他\u SWIFT\u标志来解决这个问题

资料来源:

PS:Use-Xcc-fmodulemap file=$PROJECT\u TEMP\u ROOT/GeneratedModuleMaps/iphonesimulator/.modulemap(如果您的平台是iOS)


更新:而且,这似乎在Xcode 11.2 beta2上得到了修复,我几乎遇到了同样的问题。结果证明这是由于我创建了一个自定义构建配置。在我在scheme编辑器中将测试构建配置设置回Debug之后,它再次开始工作。希望能有帮助。谢谢!我认为这是向前迈出的一步。然而,在我的一个项目中,我现在得到的类XYZ在和中都实现了。将使用其中一个。哪一个是未定义的。然后它在测试中崩溃了。谢谢,我很长一段时间都有这个问题,我不知道是PMS还是依赖关系。我在Xcode 12 beta上也这么做了,但似乎有一个内存问题类:类“Testing.TestOne”0x102b2b818小方法列表0x102b26e40不在不可变内存中