在Xcode 11中无法运行单元测试:您选择执行的测试的运行目标*无效。

25
我很确定在从Xcode 10.3更新到Xcode 11之前,我的测试运行得很好。现在当我尝试运行测试时,我会收到以下错误。 Xcode Error Alert 运行目标iPhone 5s对于您选择执行的测试无效。请选择支持您要执行的测试的运行目标。 作为实验,我尝试创建一个全新的测试目标并运行它提供的示例测试,但错误仍然存在。我也尝试了不同的模拟器。

1
你的部署目标是 iOS 13 吗?你尝试过最新的模拟器吗? - N Brown
那就是解决方案。如果我尝试 iPhone 11 模拟器,它可以工作。谢谢。 - Mark Bridges
大家好,我已经尝试了iOS 13.1和Xcode 11.1的iPhone 11和iPhone 5s,但是都无法正常工作。有什么建议吗?@NBrown - Jules
我有同样的问题。 - alexander.pan
1
Duke Peng的解决方案对我很有用,尽管在降低我的测试目标的部署目标之前,我发现“command + U”似乎可以工作,即使点击测试旁边的圆圈会出现“运行目标iPhone 5s不适用于您选择执行的测试”的警告。#奇怪 - Chris Allinson
4个回答

42

检查您的目标:(测试目标) -> 构建设置 -> 部署 -> iOS
部署目标:选择较低的iOS版本,例如:iOS 10.0

这将解决您的问题。


谢谢,将部署目标从iOS 13更改为iOS 12后,我的问题得到了解决。 - Zhou Haibo
这对我起作用了,但是不确定背后的原因是什么。我创建了支持最小版本为 iOS 13.0 的项目。然后降到了 12.0。当我将单元测试目标更新到 12.0 时,一些测试文件就无法运行了。 - Bhanu Birani

6
对于我的测试目标,在构建设置中,我的目标设备系列是仅iPad,而应用程序目标的目标设备系列是通用型。我必须更改测试目标的目标设备系列,以使其与应用程序的目标设备系列匹配。
原先的设置如下: enter image description here 我必须更改为以下设置: enter image description here

完美,这对我也有用。 - Rogare

4

如果您使用Xcode 11(我的是Xcode 11.2.1)创建新项目,则默认的iOS部署目标将设置为iOS 13。这将阻止您在低于13的iOS设备上运行应用程序,并要求您修改部署目标(例如将其设置为iOS 12以支持这些设备)。

上述更改可以通过单击“项目” -> “目标” ->“APP TARGET” ->“常规”来完成。但是,单元测试目标还具有 iOS 部署目标,该目标未显示在“常规”选项卡中。这可以在“构建设置”(项目 -> 目标->“UNIT TEST TARGET” ->“构建设置”,并在搜索框中键入“部署目标”)中查看。请参见@Chris Livdahl的答案。为了解决问题,这也必须更改(理想情况下与应用程序相同的目标版本)。


1

尝试不同的模拟器,

对我而言,问题得以解决是通过切换到我的连接设备运行测试,然后再切换回模拟器。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接