22

In the following environment:

Xcode 8.3.2
react-native-cli 2.0.1
react-native: 0.44.0
macOS Sierra 10.12.5

Just updated Xcode and macOS to run React Native and keep on practicing as I was some days ago... but everytime I try to run:

react-native run-ios

I get the error:

Scanning 555 folders for symlinks in /Users/juangarcia/projects/react-tests/CountDown/node_modules (6ms)
Found Xcode project CountDown.xcodeproj

Could not find iPhone 6 simulator

I try to see the list of devices available and I get:

~/projects/react-tests/CountDownSample » xcrun simctl list devices
== Devices ==
-- iOS 10.3 --
-- tvOS 10.2 --
    Apple TV 1080p (323FA90C-0366-4B5B-AEEE-D0477C61762A) (Shutdown)
-- watchOS 3.2 --
    Apple Watch - 38mm (F42C0C0D-325B-41DD-948D-E44B0A08B951) (Shutdown)
    Apple Watch - 42mm (75D8BAF1-27CB-47EE-9EE3-D400B962F8BC) (Shutdown)
    Apple Watch Series 2 - 38mm (64D01BD4-5C37-4885-A73A-52479D9CCF4F) (Shutdown)
    Apple Watch Series 2 - 42mm (8471C9FD-BCF3-4DDC-B386-F17E128C5EB1) (Shutdown)
-- Unavailable: com.apple.CoreSimulator.SimRuntime.iOS-9-3 --
    iPhone 4s (1FF2D0D3-F136-43A7-8148-7B1849A7B1E3) (Shutdown) (unavailable, runtime profile not found)
    iPhone 5 (859D4D90-F1B5-4DE8-B976-6984F85CAFE3) (Shutdown) (unavailable, runtime profile not found)
    iPhone 5s (5B2AD8CD-9B3F-413C-BF16-FA96F807BB2B) (Shutdown) (unavailable, runtime profile not found)
    iPhone 6 (2573D214-4371-47A8-BFF6-3341862954E0) (Shutdown) (unavailable, runtime profile not found)
    iPhone 6 Plus (8916CD9B-4D8B-463F-8583-75A2CE4F61FD) (Shutdown) (unavailable, runtime profile not found)
    iPhone 6s (41093980-7912-4F98-9D06-981A533FAAFE) (Shutdown) (unavailable, runtime profile not found)
    iPhone 6s Plus (6A85D2AE-D867-4341-979C-FEE8308DE93E) (Shutdown) (unavailable, runtime profile not found)
    iPad 2 (BFBB5477-B6D9-48C3-B529-516D2D9105A7) (Shutdown) (unavailable, runtime profile not found)
    iPad Retina (C49B5920-F4FF-4D7F-AA74-7AE2367FF09D) (Shutdown) (unavailable, runtime profile not found)
    iPad Air (4101FC8E-D8B9-4496-AD2B-1484661C15DE) (Shutdown) (unavailable, runtime profile not found)
    iPad Air 2 (9952B05C-829F-428F-AC76-EB1F8FB55D72) (Shutdown) (unavailable, runtime profile not found)
    iPad Pro (735082E2-4470-4D9A-BAA1-BEDA8426B725) (Shutdown) (unavailable, runtime profile not found)
-- Unavailable: com.apple.CoreSimulator.SimRuntime.tvOS-9-2 --
    Apple TV 1080p (AD48DE24-6295-4EFC-9787-A9B5D8118503) (Shutdown) (unavailable, runtime profile not found)
-- Unavailable: com.apple.CoreSimulator.SimRuntime.watchOS-2-2 --
    Apple Watch - 38mm (C3F2A7C3-3967-4159-9B79-13CBA63E399E) (Shutdown) (unavailable, runtime profile not found)
    Apple Watch - 42mm (656005A9-7555-4872-A7FB-FB6BCB65139C) (Shutdown) (unavailable, runtime profile not found)

react takes by default Iphone 6 to work with, and it is not available

how can I make it available again? and why did this happen?

juan garcia
  • 1,326
  • 2
  • 23
  • 56

6 Answers6

13

TL;DR:

Upgrade unavailable simulators to the latest (or the desired) iOS runtime using xcrun simctl upgrade

Details:

I was in this situation probably after performing a xcrun simctl delete unavailable with both Xcode 10 and Xcode 11 installed (and Xcode 10 as currently active).

Executing xcrun simctl list runtimes I found the iOS 13.1 runtime listed:

iOS 11.4 (11.4 - 15F79) - com.apple.CoreSimulator.SimRuntime.iOS-11-4
iOS 13.1 (13.1 - 17A844) - com.apple.CoreSimulator.SimRuntime.iOS-13-1
tvOS 13.0 (13.0 - 17J585) - com.apple.CoreSimulator.SimRuntime.tvOS-13-0
watchOS 6.0 (6.0 - 17R575) - com.apple.CoreSimulator.SimRuntime.watchOS-6-0

But when I executed xcrun simctl list, several simulators are listed as unavailable:

    iPhone 8 Plus (B08025C1-B7A2-40C0-B6D5-517EC8BB3C45) (Shutdown) (unavailable, runtime profile not found)
    iPhone Xs (0A1C1EAA-8E18-4508-9E14-C376D944984B) (Shutdown) (unavailable, runtime profile not found)
    iPhone Xs Max (84C692F5-6CF3-449D-B166-0EA26B1FAC4B) (Shutdown) (unavailable, runtime profile not found)
    iPhone Xʀ (7581E116-5CFB-4A94-94A0-30B5B8871874) (Shutdown) (unavailable, runtime profile not found)

My solution was to upgrade the unavailable simulators to the desired iOS runtime (iOS 13.1 in my case):

xcrun simctl upgrade SIMULATOR_ID "com.apple.CoreSimulator.SimRuntime.iOS-13-1"

To avoid having to perform this manually for all simulators I wrote this small ruby script to upgrade all the iPhones at once:

#!/usr/bin/ruby

uuid_regex = /([0-9A-Z]{8}-[0-9A-Z]{4}-[0-9A-Z]{4}-[0-9A-Z]{4}-[0-9A-Z]{12})/
unavailable_iPhones = `xcrun simctl list | grep iPhone | grep "runtime profile not found"`.split("\n")
unavailable_iPhones.each do | row |
    uuid = row.match(uuid_regex).captures.first
    system("xcrun simctl upgrade #{uuid} \"com.apple.CoreSimulator.SimRuntime.iOS-13-1\"")
end
francybiga
  • 960
  • 1
  • 8
  • 16
12

I had this issue in xCode 9 and 10.2. g em

For others that ends up here with the same problem, here is what helped me:

  1. Close xCode
  2. Restart your laptop (I know it is huge bummer)
  3. Open xCode and run the build again
little
  • 2,927
  • 2
  • 25
  • 36
  • I had this issue after updating to Xcode 12, quitting Xcode and the simulator fixed the issue. – Norman Sep 22 '20 at 21:48
8

pfff it was simpler than expected... when installing SO and Xcode, by some reason, the whole list of devices where removed... going to Xcode UI menu adding a new simulator in this case iPhone 6 was enough... I tried restarting and going back, and so on did not know there was an option in UI for this as I am new to XCode environment. thx for the answers.

In the XCode menu, Window --> Devices --> Add the new simulator...

juan garcia
  • 1,326
  • 2
  • 23
  • 56
2

I went to node_modules/react-native/local-cli/runIOS/findMatchingSimulator.js

And i've replaced:

if (version.indexOf('iOS') !== 0 )

with

if (!version.includes("iOS" ))

And

if (simulator.availability !== '(available)')

with

if (simulator.isAvailable !== true)

samernady
  • 841
  • 7
  • 7
1

Missing ios14 simulator option in Xcode 12 beta 4 workaround:

Check out this fantastic article about simctl.

I created an iOS14 sim since the XC12-beta4 was not giving me a download / create option via:

xcrun simctl create <name> <device> <os>

ex.

xcrun simctl create iPhone-8Plus-14 com.apple.CoreSimulator.SimDeviceType.iPhone-8-Plus com.apple.CoreSimulator.SimRuntime.iOS-14-0

cloudcal
  • 505
  • 1
  • 4
  • 9
1

If you have or have had multiple versions of Xcode open, you may need to reboot or completely re-install the CoreSimulatorService, an evil, globally installed background service that somehow remains online and available to many versions of Xcode despite it being compatible with only one version.

See more here: https://stackoverflow.com/a/72946533/731285

Other symptoms of this issue: Simulators not showing up in the Window > Devices and Simulators listing and the following:

markshiz
  • 2,501
  • 22
  • 28