I used to be able to type with my real mac keyboard after launching the iPhone Simulator. Typing with the on-screen simulator keyboard is just horrible when testing with lar
Try trashing the iPhone Simulator preferences file. When my iPhone Simulator stopped responding to keystrokes, this fixed it.
~/Library/Preferences
.com.apple.iphonesimulator.plist
to the trash.Shell / Command-Line / Jenkins / CI:
sh "plutil -replace DevicePreferences.${deviceID}.ConnectHardwareKeyboard -bool NO $HOME/Library/Preferences/com.apple.iphonesimulator.plist"
sh "plutil -extract DevicePreferences.${deviceID} xml1 -o - $HOME/Library/Preferences/com.apple.iphonesimulator.plist"
The Device ID can be found via xcrun / simctl, based on the devoce name:
xcrun simctl list | grep ${simulatorDeviceName} | sed 's/).*(.*//;s/.*(//'
I encountered the same problem and tried a lot of different ways which worked mostly but never for sure. Ultimately, I found this. https://stackoverflow.com/a/26057011/1463604
Just restart Simulator (close and open the app).
Don't trash the iPhone simulator preference files. There's no need to do this.
Look in the simulator's menu Hardware ➔ Keyboard
. The menu options are:
- iOS Uses Same Layout as OS X
- Connect Hardware Keyboard ⇧⌘K
- Toggle Software Keyboard ⌘K
Ensure option 2 is checked.
If it's already checked, uncheck it then check it again (you'll probably want to learn the keyboard shortcuts).
If you find that this hides the on screen keyboard, but you also want this to show, use option 3 to toggle it back on.
If rotating the simulator seems to stop the keyboard working, toggle option two off then back on – this seems to resolve it.
If you are developing a React Native app and you cannot refresh (⌘R
) or enable remote debugging (⌘D
) from the iOS simulator, while other keyboard inputs work, make sure you are running a debug build configuration. You can check this with:
Product -> Scheme -> Edit Scheme -> Run -> Info -> Build Configuration -> Debug"
I got this tip from here.