Xcode 11 单元测试:未列出装有 iOS 12.* 的设备
Posted
技术标签:
【中文标题】Xcode 11 单元测试:未列出装有 iOS 12.* 的设备【英文标题】:Xcode 11 Unit Test: Devices with iOS 12.* are not listed 【发布时间】:2019-09-24 10:20:37 【问题描述】:我正在尝试使用 ios 12.* 运行我的单元测试(我已经下载了模拟器),但 Xcode 没有在列出所有可用设备的下拉视图中显示设备。我什至尝试添加额外的模拟器,但下拉视图中只列出了 iOS 13 的设备。我做错了什么?
注意:项目 iOS 部署目标是 12.0。
图片 1:这些都是支持 iOS 13 的设备:
图片 2: 如您所见,可以使用 iOS 12 和 iOS 12.2 的设备:
解决方案:您需要将 IPHONEOS_DEPLOYMENT_TARGET
显式设置为 iOS 12.0 用于单元测试目标。我的错误是我只为项目设置了部署目标。
【问题讨论】:
检查部署目标。 @AndrewRomanov 发生了一些奇怪的事情。部署目标已设置为 12.0。当我再次明确选择 12.0 时,所有设备都在下拉窗口中显示给我,但是当我尝试运行我的单元测试时,我收到以下警告:标题:“运行目标 iPhone 8 Plus 对您选择的测试无效履行。”消息:“请选择支持您希望执行的测试的运行目标。” @AndrewRomanov 更新:天哪,成功了!我必须为单元测试目标明确设置 IPHONEOS_DEPLOYMENT_TARGET。这解决了问题。 这也解决了我的问题。 @AndrewRomanov 花了我一些时间来找到实际更改单元测试设置的位置,因为我对构建设置仍然很陌生。在 Xcode 11 的项目编辑器中,选择 Build Settings。在您刚刚单击的行的左侧,显示了构建设置的目标。点击下拉箭头,选择单元测试目标,然后在页面下到“部署”部分,调整到想要的iOS版本。 【参考方案1】:要更改部署目标,请在导航器中点击您的项目文件。 选择常规选项卡,在“部署目标”部分中,您可以找到目标和设备:
或者选择 Build Settings 选项卡并找到 iOS Deployment Target 设置:
您应该为应用程序中的所有目标选择适当的部署目标。 (例如,您的应用程序可以支持 iOS 7 并将部署目标设为 7.0,但您的应用程序或测试目标中的扩展只能支持 >= iOS 8.0,并且应为该目标选择 8.0 的部署目标)
【讨论】:
以上是关于Xcode 11 单元测试:未列出装有 iOS 12.* 的设备的主要内容,如果未能解决你的问题,请参考以下文章
未检测到装有 iOS 5.1 的 iPad - Xcode 4.3.1
我是不是必须升级到 Lion 才能在装有 iOS 5.1 的 iPad 上进行测试?