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

Unable To Run Unit Tests in Xcode 11: The run destination * is not valid for tests you have chosen to perform

很确定在我从 Xcode 10.3 更新到 Xcode 11 之前,我的测试 运行 正常。现在当我尝试 运行 测试时,我得到了以下错误。

运行 目的地 iPhone 5s 对您选择执行的测试无效。 请 select 支持您希望执行的测试的 运行 目的地。

作为一项实验,我尝试创建一个全新的测试目标并 运行 测试它给你的示例测试,错误是相同的。我也尝试过不同的模拟器。

尝试不同的模拟器,

对我来说,它通过切换到我连接的设备解决,运行 测试,而不是切换回模拟器。

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

这将解决您的问题。

对我来说,我的测试目标构建设置中的目标设备系列是 iPad-only,而目标设备系列对于应用程序目标是通用的。

我必须将我的测试目标的目标设备系列更改为通用,以匹配应用程序的目标设备系列。

它是:

我不得不改为:

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

以上更改可以通过点击项目->目标->"APP TARGET"->常规来完成。但是,单元测试目标还有一个 iOS 部署目标,它未显示在“常规”选项卡中。这可以在构建设置中看到(项目 -> 目标 -> "UNIT TEST TARGET" -> 构建设置并在搜索框中输入 "Deployment Target")。请参阅@Chris Livdahl 的回答。这也必须更改(最好更改为与应用程序相同的目标版本)以解决问题。