Как набирать текст с клавиатуры в симуляторе iphone?

138

Раньше я мог печатать на своей настоящей клавиатуре Mac после запуска iPhone Simulator. Ввод с клавиатуры симулятора на экране просто ужасен при тестировании с большим количеством текста.

Что бы я ни делал, я больше не могу заставить клавиатуру печатать в симуляторе. Даже если у меня включен «Имитация аппаратной клавиатуры», он просто ничего не печатает. Может кто-нибудь подскажет, что я делаю не так? Больше нет возможности печатать на настоящей клавиатуре?

странный
источник
@ user189924: Отметьте предыдущие вопросы принятыми ответами, в которых вам помогали люди. Это помогает сообществу и мотивирует других отвечать на ваши будущие вопросы.
Alex Reynolds
2
Все 5 текущих ответов работают, но ОЧЕНЬ ЛУЧШИЙ ответ - это тот, который в настоящее время находится внизу, от @SGS.
Chuck H
2
Привет @strange - начиная с xCode 6 выбранный ответ не кажется лучшим подходом. Не могли бы вы пересмотреть свой выбор? Два ответа об использовании параметров меню симулятора и описании сочетаний клавиш - это мои собственные и собственные . Однако, если вас устраивает текущий выбор, оставьте его.
Benjohn
1
⇧⌘K, как объяснил @Benjohn stackoverflow.com/a/26715382/242933
ma11hew28
То же самое случилось со мной и было решено таким образом
Mahbub Morshed

Ответы:

261

Попробуйте выбросить файл настроек iPhone Simulator. Когда мой iPhone Simulator перестал реагировать на нажатия клавиш, это исправило.

  1. Выйти из симулятора.
  2. Перейдите в искатель и нажмите (command + shift + G), затем перейдите ~/Library/Preferences.
  3. Переместить com.apple.iphonesimulator.plistв корзину.
  4. Попробуйте снова запустить приложение для iPhone в симуляторе.
Дэвид Браун
источник
1
Когда я вращаюсь или увеличиваю масштаб, я теряю эту способность. Есть ли постоянное решение?
philipkd
1
@ Философия Я тоже теряю способность печатать, когда использую ⌘→или ⌘←. Я обнаружил, что мне нужно повернуть его с помощью пунктов меню.
Tobia
4
Похоже, в симуляторе есть ошибка, из-за которой он перестает реагировать на клавиатуру после использования сочетаний клавиш поворота. Чтобы исправить это, коснитесь ⌘ Cmdклавиши самостоятельно. Он должен снова принять ввод. См. Также: stackoverflow.com/questions/18979510/…
Майк,
6
Вместо того, чтобы удалять файл plist, я просто открываю его и меняю поле EnableKeyboardSyncна YES. Затем перезапускаю симулятор.
ohnit 04
1
Этот ответ больше не является правильным для XCode 6.0.1. См. Ответ @slamor и Кита Смайли ниже.
adjwilli
146

Удаление com.apple.iphonesimulator.plist не помогло мне в Xcode 6.0.1. Наверное, в старом Xcode это работало.

Но что отлично работает для меня под Xcode 6.0.1, так это новые горячие клавиши в iOS Simulator:

Shift-Command-K   Connect/Disconnect Hardware Keyboard
Command-K         Toggle (Show/Hide) Software Keyboard

И, знаете, очень мучилась последние 2 месяца, пока не нашла, а сейчас очень удобно))

клевета
источник
Спасибо! Я с трудом набирал свои учетные данные в приложение целую неделю! :)
Соломия
Добро пожаловать! Кстати, эти горячие клавиши отлично работают и в последней версии xCode 6.1 под OS X Yosemite.
Slamor
Действительно полезно, я тоже боролся пару дней.
ChenSmile
Это гораздо лучший способ обхода ошибки Apple, чем принятый ответ.
SeanR
это правильный путь, я несколько дней пытался заставить симулятор использовать физическую клавиатуру. Я не уверен, что это ошибка, с точки зрения Apple, это может быть функция, позволяющая переключаться между вводом на основе касания или внешним оборудованием
Богдан
73

Не выбрасывайте файлы настроек симулятора iPhone в корзину. В этом нет необходимости.

Посмотрите в меню симулятора Hardware ➔ Keyboard. Возможные варианты меню:

  1. iOS использует тот же макет, что и OS X
  2. Подключить аппаратную клавиатуру ⇧⌘K
  3. Переключить программную клавиатуру ⌘K

Убедитесь, что выбран вариант 2.

Если он уже отмечен, снимите его, а затем снова установите флажок (возможно, вы захотите изучить сочетания клавиш).

Если вы обнаружите, что это скрывает экранную клавиатуру, но вы также хотите, чтобы это отображалось, используйте опцию 3, чтобы снова включить ее.

Если вращение симулятора останавливает работу клавиатуры, выключите второй вариант и снова включите его - похоже, это решает проблему.

Benjohn
источник
2
Это сработало для меня! Обязательно попробуйте это, прежде чем что-либо выбрасывать
Ёсоб Ли
Спустя почти два года после ответа, это, несомненно, мой самый популярный ответ на SO, он расскажет вам все, что вам нужно знать о современной разработке программного обеспечения :-)
Бенджон
По какой-то причине у меня была такая же проблема. Моя клавиатура работала, и в какой-то момент этот параметр изменился, и клавиатура в симуляторе перестала работать. Это ответ, который решил мою проблему в XCode 8.3
sonar0007 01
1
@ sonar0007 Это часто повторяется со мной, когда я обновляю xCode.
Benjohn
27

Я использую iOS Simulator версии 7.0. Пока симулятор работал, я перешел в iOS Simulator-> Reset Contents and Settings ... и сбросил симулятор оттуда. Похоже, это помогло мне. Надеюсь, это поможет.

ночная пчела
источник
4
Он работает для iOS7, но как только вы измените масштаб окна для симулятора, он снова перестает реагировать на аппаратную клавиатуру.
iOS Monster
Это лучший способ перезапустить клавиатуру
Гаджендра К. Чаухан
В iOS Simulator 10.0 используйтеHardware -> Erase All Content and Settings...
Николай Р. Кристиансен
17

Это потому, что вы использовали изменение ориентации симулятора с помощью сочетаний клавиш. Просто нажмите cmd на клавиатуре Mac и начните печатать.

гуны
источник
2
На мой взгляд, это лучший ответ.
Chuck H
1
Это работает примерно в половине случаев. Другая половина, что-то еще вызвало это, и это не помогает.
Арик
1
Я попробовал все вышеперечисленные решения, но ввод cmd спас мне день.
Renato Back
8

Все, что мне нужно было сделать, это выйти из симулятора и запустить его снова.

Chicowitz
источник
4

МОЯ ПРОБЛЕМА: КЛАВИАТУРА ПОКАЗЫВАЕТ, И НЕ ОБНАРУЖИВАЕТСЯ. И Я НАШЕЛ РЕШЕНИЕ:

Вам не нужно выходить из клавиатуры.

Попробуйте Аппаратное обеспечение-> Клавиатура-> Подключить аппаратную клавиатуру напрямую

Рам Мадхаван
источник
3

Удаление com.apple.iphonesimulator.plistтоже сработало для меня, но мне пришлось найти его внутри скрытой папки/Users/[yourusername]/Library/Preferences/

Джеймс
источник
7
На самом деле знак тильды «~» в «~ / Library / Preferences» переводится в / Users / [yourusername] в терминале, это просто удобный специальный символ в путях unix для одного домашнего каталога.
Trond Hatlen
1

Оболочка / Командная строка / 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"

Идентификатор устройства можно найти через xcrun / simctl на основе имени DevOce:

xcrun simctl list | grep ${simulatorDeviceName} | sed 's/).*(.*//;s/.*(//'
Евгений Фаддеенков
источник
0

Я столкнулся с той же проблемой и пробовал много разных способов, которые в основном работали, но никогда не были уверены. В конце концов, я нашел это. https://stackoverflow.com/a/26057011/1463604

Нишант
источник
0

Если вы разрабатываете приложение React Native и не можете обновить ( ⌘R) или включить удаленную отладку ( ⌘D) из симулятора iOS, в то время как другие вводы с клавиатуры работают, убедитесь, что вы используете конфигурацию сборки отладки . Вы можете проверить это с помощью:

Product -> Scheme -> Edit Scheme -> Run -> Info -> Build Configuration -> Debug"

Я получил этот совет отсюда .

Франц
источник
0

Просто перезапустите Симулятор (закройте и откройте приложение).

Дмитрий
источник