无法排毒找到 iPhone X 或 iPhone 11 之前的模拟器
Posted
技术标签:
【中文标题】无法排毒找到 iPhone X 或 iPhone 11 之前的模拟器【英文标题】:Can't get detox to find iPhone X or simulators older than iPhone 11 【发布时间】:2020-01-25 00:33:53 【问题描述】:在接受 XCode 的许可以升级 ios 13 和 iPhone 11 后出现此错误。我在 detox 配置中使用“iPhone 11”作为名称值对 iPhone 11 设备运行 detox 测试没有问题。
错误:找不到与“iPhone X”匹配的模拟器,运行“xcrun simctl list”列出您支持的设备。 建议只说明设备类型,不要说明 iOS 版本,例如“iPhone 7”```
运行xcrun simctl list
,iPhone X 确实在那里并启动:
iPhone 4s (com.apple.CoreSimulator.SimDeviceType.iPhone-4s)
iPhone 5 (com.apple.CoreSimulator.SimDeviceType.iPhone-5)
iPhone 5s (com.apple.CoreSimulator.SimDeviceType.iPhone-5s)
iPhone 6 Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-6-Plus)
iPhone 6 (com.apple.CoreSimulator.SimDeviceType.iPhone-6)
iPhone 6s (com.apple.CoreSimulator.SimDeviceType.iPhone-6s)
iPhone 6s Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-6s-Plus)
iPhone SE (com.apple.CoreSimulator.SimDeviceType.iPhone-SE)
iPhone 7 (com.apple.CoreSimulator.SimDeviceType.iPhone-7)
iPhone 7 Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-7-Plus)
iPhone 8 (com.apple.CoreSimulator.SimDeviceType.iPhone-8)
iPhone 8 Plus (com.apple.CoreSimulator.SimDeviceType.iPhone-8-Plus)
iPhone X (com.apple.CoreSimulator.SimDeviceType.iPhone-X)
iPhone Xs (com.apple.CoreSimulator.SimDeviceType.iPhone-XS)
iPhone Xs Max (com.apple.CoreSimulator.SimDeviceType.iPhone-XS-Max)
iPhone Xʀ (com.apple.CoreSimulator.SimDeviceType.iPhone-XR)
iPhone 11 (com.apple.CoreSimulator.SimDeviceType.iPhone-11)
iPhone 11 Pro (com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro)
iPhone 11 Pro Max (com.apple.CoreSimulator.SimDeviceType.iPhone-11-Pro-Max)
...
```-- iOS 12.2 --
iPhone 5s (B9F8AD52-F3A4-4E5A-B6EC-406827678E41) (Shutdown)
iPhone 6 Plus (D5C54611-B44F-4F42-A400-FA6B3F10877A) (Shutdown)
iPhone 6 (E29542E6-163D-4ABD-8825-78975A22934D) (Shutdown)
iPhone 6s (B6D65541-1EB4-43A7-B738-28A215AE50D4) (Shutdown)
iPhone 6s Plus (C1C0488F-7810-4552-B404-F344D36B1215) (Shutdown)
iPhone 7 (7A5DDC90-60BD-4B9A-9CEC-62C924EB86DF) (Shutdown)
iPhone 7 Plus (D19DABA8-AA67-454D-904E-760D202A148A) (Shutdown)
iPhone 8 (37F662FE-7368-46E2-AE87-4C1EC561DB07) (Shutdown)
iPhone 8 Plus (E7F29F60-E1E3-4206-875C-CE0CD0FDD2B5) (Shutdown)
iPhone X (13DD7A53-D818-444D-A537-633365C9DFA8) (Booted) ```
Did detox drop support for running against other iPhone simulators?
I've updated applesimutils and removed and re-added the iPhone X device with iOS version 12.2, but still same error.
【问题讨论】:
升级你的 applesimutils。要检查它是否有效,请运行applesimutils --list
谢谢,我也试过了,但我的问题是我的 iPhone X 没有最新版本的 iOS(本例中为 13)
【参考方案1】:
我也遇到过这个问题,用下面的命令解决了。
-
brew tap wix/brew
brew install applesimutils
另外,我正在使用 XCode 12.4 和 detox 18.7.1。
【讨论】:
【参考方案2】:我在 Detox 14.3.4 中看到了相同的行为。我假设这是您正在使用的 Detox 版本。
【讨论】:
是的,我正在使用最新版本的排毒。有人确实找到了解决方案,我在这里发布了。希望对你也有帮助【参考方案3】:在这里为我修复:https://github.com/wix/Detox/issues/1675
这里也复制解决方案: “将 Detox 配置中模拟器的名称设置为“iPhone 5s,iOS 11.3”与“iPhone 5s”为我修复了它。似乎 Detox 的 AppleSimUtils.js 中的 deviceInfo.newestRuntime.version 将返回最新的操作系统版本,尽管是否该版本是否存在模拟器。”
【讨论】:
【参考方案4】:Detox 最近更新了 package.json 中的新设备选择 API。请迁移到那个位置。
【讨论】:
以上是关于无法排毒找到 iPhone X 或 iPhone 11 之前的模拟器的主要内容,如果未能解决你的问题,请参考以下文章
[测试] Berlin 10.1 支持 iPhone 4 (iOS v7.x)
如何设置状态栏或安全区域以删除 iPhone X 上的空白?
无法在 iPhone 11 pro 上运行 ActionAndVision 示例