React-native: iOS Simulator CMD+R CMD+D Shake doesn't work at all after some time

Created on 2 Dec 2019  Â·  24Comments  Â·  Source: facebook/react-native

React Native version:
System:
OS: macOS Mojave 10.14.6
CPU: (12) x64 Intel(R) Core(TM) i7-8850H CPU @ 2.60GHz
Memory: 397.52 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 10.16.0 - /usr/local/opt/nvm/versions/node/v10.16.0/bin/node
Yarn: 1.19.1 - /usr/local/Cellar/yvm/3.6.1/shim/yarn
npm: 6.9.0 - /usr/local/opt/nvm/versions/node/v10.16.0/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.0, DriverKit 19.0, macOS 10.15, tvOS 13.0, watchOS 6.0
Android SDK:
API Levels: 14, 25, 26, 28, 29
Build Tools: 28.0.3, 29.0.0, 29.0.1
System Images: android-26 | Google APIs Intel x86 Atom
IDEs:
Android Studio: 3.4 AI-183.6156.11.34.5522156
Xcode: 11.0/11A420a - /usr/bin/xcodebuild
npmPackages:
react: 16.9.0 => 16.9.0
react-native: 0.61.1 => 0.61.1
npmGlobalPackages:
react-native-cli: 2.0.1

Steps To Reproduce

  1. yarn ios
  2. switch to another window for some time
  3. switch back to ios simulator

simulator doesn't recognize any shortcuts. Keyboard is working ok - I still can fill text inputs in app. Also dev menu is shown in case of any error in JS runtime after fastrefresh.
Closing simulator and starting it once again fixed an issue for some time. But after 5-10 minutes it can happen once again.

It's very annoying cause it can be reproduced 10-20 times during a day.

Bug iOS

Most helpful comment

first press D ,then press CMD+D can solve, but I do not why.
the same press R ,then press CMD+R

All 24 comments

You can use ctrl + cmd + z to open the shake menu.

@vishgoel007 thanks, it helps to reload app, but how to fix hanged cmd+d cmd+r ?

@v0lume I don't know, facing same issue.

if cmd + d doesn't work for me then as per @vishgoel007 's comment ctrl + cmd + z does the shake gesture and the menu shows up but shows up twice as if the previous cmd + d action runs at the same time. Only started noticing this on the most recent version or maybe a version before that

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may also label this issue as a "Discussion" or add it to the "Backlog" and I will leave it open. Thank you for your contributions.

Still happening.
I think I've found a solid way to reproduce the issue:

  1. Make sure "Send Keyboard Input to Device" is checked (I/O -> Input on XCode 11.4).
  2. CMD + R, it works
  3. Focus any other macOS app: Finder, Terminal, Editor etc...
  4. Go back to simulator and check the setting, it is now unchecked.

I am pretty sure this is not React Native fault but in fact the Simulator itself, which will probably be harder to get fixed... =/

In the meantime, you can use "R" and "D" in the Metro terminal tab.
"D" seems to be broken on my app though, React 0.62...

Confirmed that I'm also seeing this issue, too. I'm using Expo. What's strange is that it only started happening the day I upgraded to macOS 10.15.4 and Xcode 11.4. That was around a week ago. Before that, I'd been using the same Simulator setup for months and could always hit CMD + R to reload. Now, it just works once and I have to use CTRL + CMD + Z to simulate a shake and open the Expo developer tools if I want to manually trigger a reload. Pressing "R" in the Metro terminal tab does _work_ but it restarts the bundler and that's not exactly what I wanted.

I've spoken to one of the Expo developers and while they personally can't reproduce, they have spoken to others (in the Expo Slack, for example) who have. I guess, as @kamui545 said, it's an issue with the Simulator itself. 🤔

Confirmed that I'm also seeing this issue, too. I'm using Expo. What's strange is that it only started happening the day I upgraded to macOS 10.15.4 and Xcode 11.4. That was around a week ago. Before that, I'd been using the same Simulator setup for months and could always hit CMD + R to reload. Now, it just works once and I have to use CTRL + CMD + Z to simulate a shake and open the Expo developer tools if I want to manually trigger a reload. Pressing "R" in the Metro terminal tab does _work_ but it restarts the bundler and that's not exactly what I wanted.

I've spoken to one of the Expo developers and while they personally can't reproduce, they have spoken to others (in the Expo Slack, for example) who have. I guess, as @kamui545 said, it's an issue with the Simulator itself. 🤔

I have exactly same problem.

Hi, @hlthi. Thanks for your reply but that unfortunately doesn't help in my case.

Hi, @hlthi. Thanks for your reply but that unfortunately doesn't help in my case.

Hi, @hlthi. Thanks for your reply but that unfortunately doesn't help in my case.

If you resolve the questions, please notify me.

IOS 13.4 cause that problem. You can back IOS 13.3.

  1. Open XCode.
  2. Press ⌘ + , or open Preferences
  3. Press Components
  4. Download IOS 13.3 Simulator.
  5. After download, close all simulators.
  6. Open new device with IOS 13.3.

Screen Shot 2020-04-07 at 13 20 46

IOS 13.4 cause that problem. You can back IOS 13.3.

That's useful to know, and could be a quick workaround, but isn't ideal as you _should_ be able to test on the latest iOS, against the latest APIs, etc. Thanks for the tip, though.

Let's just hope that this gets fixed on Apple's side. I wonder where/how this could be reported. 🤔

My XCode‘s version is 11.4, and I got the same problem, too. I found a solution which is not prefect:

Every time after you switch back to ios simulator, you can click Menu Bar => I/O => Input => send keyboard input to device, and then type command + R twice. It means every time you must take 5-10s to reload.

command + ctrl + z is better.

@bolan9999
There is not a perfect solution ?

@weinixuehao switch your ios simulator version to 13.3 as hlthi said.

I've been having this issue for over a year now, did not start for me with 13.3 but with 12.x, going to the menu and clicking on send keyboard input to device is a waste of my time, daily.

first press D ,then press CMD+D can solve, but I do not why.
the same press R ,then press CMD+R

One more solution:

  1. Simulator -> Customize Touch Bar...
  2. Add Shake Device to touch bar

image

Hey there, it looks like there has been no activity on this issue recently. Has the issue been fixed, or does it still require the community's attention? This issue may be closed if no further activity occurs. You may also label this issue as a "Discussion" or add it to the "Backlog" and I will leave it open. Thank you for your contributions.

Not fixed

It looks like this is finally fixed on XCode 12 + iOS 14 ✨

Thanks @kamui545, since this is a pretty dated I'll close this. If this continues on a fresh React Native template on the latest version please feel free to open another issue with the issue template. Thanks!

This is not fixed for me, I'm using Xcode 12 GM and after one reload cycle the simulator stops responding

Was this page helpful?
0 / 5 - 0 ratings