Search code examples
iossimulatordetoxxcrunapplesimutils

Error: Can't find a simulator to match with "iPhone 6s"


Detox was working fine as expected a couple of weeks ago - i've not updated anything to my knowledge and now I keep getting the following error when trying to test (it builds fine):

Error: Can't find a simulator to match with "iPhone 6s", run 'xcrun simctl list' to list your supported devices.
      It is advised to only state a device type, and not to state iOS version, e.g. "iPhone 7"
    at AppleSimUtils.findDevicesUDID (/Users/user/Documents/work/app/e2e/node_modules/detox/src/devices/ios/AppleSimUtils.js:47:13)
    at process._tickCallback (internal/process/next_tick.js:68:7)

If I run applesimutils --list --byName "iPhone 6s" it shows 2 devices:

[
  {
    "deviceType" : {
      "name" : "iPhone 6s",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Library\/Developer\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 6s.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-6s"
    },
    "state" : "Shutdown",
    "isAvailable" : true,
    "name" : "iPhone 6s",
    "udid" : "A87C2EF9-95D2-4562-99BE-E1A39A63ABB1",
    "os" : {
      "buildversion" : "17B102",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Library\/Developer\/CoreSimulator\/Profiles\/Runtimes\/iOS.simruntime",
      "isAvailable" : true,
      "name" : "iOS 13.2",
      "identifier" : "com.apple.CoreSimulator.SimRuntime.iOS-13-2",
      "version" : "13.2.2"
    }
  },
  {
    "deviceType" : {
      "name" : "iPhone 6s",
      "bundlePath" : "\/Applications\/Xcode.app\/Contents\/Developer\/Platforms\/iPhoneOS.platform\/Library\/Developer\/CoreSimulator\/Profiles\/DeviceTypes\/iPhone 6s.simdevicetype",
      "identifier" : "com.apple.CoreSimulator.SimDeviceType.iPhone-6s"
    },
    "state" : "Shutdown",
    "isAvailable" : true,
    "name" : "iPhone 6s",
    "udid" : "F5A2C1D3-5416-431C-A9B5-6054A238283D",
    "os" : {
      "buildversion" : "16E226",
      "bundlePath" : "\/Library\/Developer\/CoreSimulator\/Profiles\/Runtimes\/iOS 12.2.simruntime",
      "isAvailable" : true,
      "name" : "iOS 12.2",
      "identifier" : "com.apple.CoreSimulator.SimRuntime.iOS-12-2",
      "version" : "12.2"
    }
  }
]

I've tried adding and removing the simulator through xcode and xcrun, but nothing seems to work.

Versions:

Mac 10.14.6 applesimutils version 0.7.6 detox 14.3.4 xcode 11.2.1


Solution

  • Try upgrading Detox to the latest version (14.7.1, as of 11/15/2019), there was a fix to the simulator selection logic in aa250258 released in 14.5.0 a month ago.