Не можете ввести текстовое поле в симуляторе iphone с помощью клавиатуры Mac?


98

Я работаю над базовым приложением для iOS, которое поддерживает как портретный, так и ландшафтный режимы. Когда клавиатура симулятора iPhone открыта в альбомной ориентации и я переключаю приложение в портретный режим, я не могу вводить что-либо в текстовое поле с помощью физической клавиатуры Mac.

Кто-нибудь испытывал подобное раньше? Это известная ошибка?



Не могли бы вы предоставить дополнительную информацию, например, о версии XCode и iOS SDK, которые вы используете?
— brimble2010

1
У меня точно такая же проблема. Я также иногда получаю длинные серьезные предупреждения о недопустимом контексте в консоли.
— bilobatum

Ответы:


81

Нашел отличное решение, которое сработало для меня.
Откройте симулятор, затем найдите меню Оборудование -> Клавиатура имеет три варианта:

  1. iOS использует ту же раскладку, что и OS X : этот параметр отключает клавиатуру Mac
  2. Подключить аппаратную клавиатуру : этот параметр включает клавиатуру Mac, но клавиатура не отображается.
  3. Переключить программную клавиатуру : эта опция позволит вам вводить текст с клавиатуры Mac, а также отобразит iOS на экранной клавиатуре.

это сработало, как в 2020 году ... Не удалось набрать текст на симуляторе, после переключения на аппаратную клавиатуру он работает
— Хуан

52

В Xcode 9 я столкнулся с той же проблемой с симулятором iPhone 8+. Я смог решить это так:

  1. Открыть ~/Library/Preferences/com.apple.iphonesimulator.plistфайл
  2. Найдите проблемный идентификатор симулятора (отображается в окне « Устройства и симулятор» )
  3. Установите CaptureKeyboardInputзначение наYES
  4. Перезагрузите симулятор


2
Спасибо. Это единственное, что у меня работало в Xcode 9. Пробовал различные комбинации внутри аппаратного меню, но безрезультатно. Прошился и вручную добавил на все мои симки. Не уничтожал и не воссоздавал симулятора, чтобы посмотреть, решит ли это проблему. Apple не в первый раз лажает с симками, наверное, и не в последний раз. :)
— StephenFeather

2
Вы заслуживаете медали.
— Оливер Пирмэйн

2
Это единственное исправление, которое мне помогло. Спасибо!
— gokeji

1
какой ответ, братан,
— снимаю шляпу

1
Ага, это ответ для меня. Большое спасибо
— Витало Бенисио

41

Перед тем, как начать вводить текст (когда появится экранная клавиатура), нажмите только командную клавишу, а затем отпустите ее. Это должно повторно включить клавиатуру в симуляторе.


1
Этот ответ виден в поиске проблемы в Google. Молодец, Юджин. Как ты это понял? Намного лучше, чем другие «решения», которые я пробовал.
— Nuthatch

17
Дважды набрав CMD + Shift + K при появлении клавиатуры, я решил проблему.
— Чанчал Радж

4
Не работает в симуляторе из Xcode 9. Ничего не происходит.
— Хосе Рамирес,

Однажды у меня сработало. Затем клавиатура перестала работать у меня вскоре после этого, и теперь это не работает. (Симулятор v10.0, Xcode 9.2)
— Райан Х.

37

В меню Симулятор >> Оборудование >> Клавиатура >> Подключить аппаратную клавиатуру.

ИЛИ

просто нажмите ⌘ + ⌂ + K


это сработало для меня, но сразу после того, как я перезапустил симулятор
— marcomoreira92

26

Запустите iOS Simulator и включите Hardware > Keyboard > Connect Hardware Keyboard.

(Вы могли случайно отключить его, нажав CMD + SHIFT + K- тот же ярлык, что и Clean в Xcode)


18

На Симуляторе попробуйте сменить устройство. Затем снова запустите приложение на исходном устройстве. Это сработало для меня.

Если первый шаг сам по себе не работает, снимите флажок: iOS использует ту же раскладку клавиатуры, что и OS X, а затем смените устройство.

Я понял это, делая случайные вещи, пока это не сработало. Крепление обезьяны.


1
Мне не нужно было делать первый шаг, но второй шаг сработал. Спасибо!
— rob5408 04

Мне нравится, что почти все ответы на этот вопрос совершенно разные. Глупый симулятор iOS. Ваш сработал для меня - я отправил его на рассмотрение :)
— Дарра Энрайт

У меня это сработало, за исключением того, что мне не нужно было вызывать другой симулятор. Я просто закрыл окно для симулятора (теперь у вас может быть несколько окон симулятора и закрывать их по отдельности), а затем повторно запустить приложение из Xcode, чтобы вернуть его обратно. Однозначно что-то нестабильное с симулятором. Это было проблематично уже давно :(
— Райан Х.

17

Ни одно из этих предложений не помогло мне. Я закрыл приложение iOS Simulator и перезапустил его. Это исправило это для меня.


Тупой. Работал у меня.
— KeithTheBiped 05

Если вы пробовали переключать клавиатуру с помощью shift-command-k, попробуйте следующее.
— KeithTheBiped

@KeithTheBiped Я безуспешно пробовал shift-command-k, прежде чем перезапустить симулятор ios.
— Бухари

14

Я думаю, это только из-за проблемы, что вы не выбрали опцию «подключить аппаратную клавиатуру» в строке меню симулятора с названием «Оборудование»

Пожалуйста, следуйте инструкциям

Перейти: Оборудование -> Клавиатура -> Подключить аппаратную клавиатуру

Надеюсь, это поможет вам с проблемой, спасибо.введите описание изображения здесь


11

Я наблюдаю ту же проблему. Я считаю, что проблема связана с тем, что командная клавиша «застревает» в симуляторе, если вы поворачиваете устройство в симуляторе с помощью сочетаний клавиш Command-LeftArrow и Command-RightArrow.

Пока мы ждем, когда Apple исправит ситуацию, один из способов обойти это - повернуть устройство, выбрав пункт меню вместо сочетания клавиш. Это поворачивает устройство и оставляет клавиатуру в рабочем состоянии.



5

Это не проблема. Просто сделайте эти простые шаги.

  1. Открыть симулятор

  2. Наверх, и вы увидите опцию «Оборудование», нажмите на нее.

  3. Когда вы нажимаете «Оборудование», появляется какая-то опция, одна из которых - клавиатура.

  4. Нажмите на опцию «Клавиатура», и вы увидите три варианта.

  5. Если вы хотите использовать клавиатуру с кнопками Mac, просто выберите 2-й вариант «Подключить аппаратную клавиатуру».

  6. Если вы хотите использовать мобильную клавиатуру, выберите 3-й вариант.

  7. 1-й вариант - для тех, кто выбирает клавиатуру с помощью кода.

Наслаждайтесь тем, что все работает.


1
Если не сработает. Убейте (закройте и запустите) симулятор и повторите эти шаги еще раз. Надеюсь, это сработает.
— ФАРАЗ

5

Я только что установил новую версию Xcode (5.0), и клавиатура в iOS Simulator не работала при первом запуске. Помог только перезапуск Симулятора.


4

Для меня выберите «Симулятор», выберите «Оборудование» -> «Клавиатура» -> «Подключить аппаратную клавиатуру».

У меня это сработало.


3

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

Вы можете сообщить об этом в Apple, используя это:

https://developer.apple.com/bug-reporting/


2

Решение, которое действительно работало для меня, было удалено симулятор и создано новое. Эта ошибка, как мне кажется, обычно возникает, когда не работают все сочетания клавиш с клавиатуры на симулятор.



2

У меня возникла проблема с симулятором iPhone6, я сменил его на iPhone7 . На iPhone7 я могу продолжить работу.


1

Если клавиатура Mac по- прежнему отключена после того, как все параметры и настройки верны, одна из причин - вращение устройства.

Если вы CMD+ ←или →поверните устройство раньше, когда симулятор запускается, клавиатура Mac не будет работать ни на что; изменение настроек меню ничего не делает! Перед поворотом устройства может быть полезно использовать клавиатуру Mac для ввода данных внутри устройства.

Иногда помогает отключение «Отправить ярлыки меню на устройство» и перезапуск симулятора. Я обновлю, если получу надежное, воспроизводимое поведение.

Я обнаружил, что клавиатура Mac работает примерно в половине случаев, когда я запускаю и выхожу из Simulator. 50% - это неплохо после всех этих лет !?




0

Я встречал эту проблему всякий раз, когда вращал симулятор. Следующие предложения по изменению параметров оборудования не работают для меня, равно как и перезагрузка iOS Simulator.

Я нашел уловку, когда щелчок по области редактирования после поворота заставляет клавиатуру Mac работать.


0

После того, как вы выполнили так много вещей, просто перезапустите мою машину и включите следующее.

Включение этого в симуляторе: Оборудование -> Клавиатура -> Подключить аппаратную клавиатуру


0

Для версии 10.0 (SimulatorApp-851.2 CoreSimulator-518.19) с Xcode 9.3 у меня ничего не работало. Я сбрасываю симулятор с помощью оборудования -> Стереть все содержимое и настройки -> Стереть. Очистил проект и запустил на симуляторе. Подключение клавиатуры восстановлено.


0

Я столкнулся с этой проблемой после того, как удалил Main.storyboardи создал главное окно в коде. Возврат к использованию Main.storyboardисправил это для меня.


0

Для меня это сработало на симуляторе iPhone 8+ iOS 11.2: 1. Перейдите в Меню -> Оборудование -> Стереть все содержимое и настройки. 2. Удалите производные данные из xcode. Xcode -> Настройки -> Местоположения -> Щелкните стрелку вправо в левой части кнопки «Дополнительно».


0

для меня, в открытом симуляторе, в меню вашего Mac нажмите «Оборудование», выберите опцию клавиатуры и выберите «Переключить программную клавиатуру». как показано


0

Существует библиотека для редактирования файлов plist, которая называется plistlib. Вот мой код:

    import plistlib

    file_name = ('path/to/com.apple.iphonesimulator.plist')
    try:
        p = plistlib.readPlist(file_name)
        p["ConnectHardwareKeyboard"] = "NO"
        plistlib.writePlist(p, file_name)
    except:
        print("Failure")

Это читает файл plist, изменяет ConnectHardwareKeyboardзначение на Noи затем записывает новый файл в то же место. У меня это работает, но дайте мне знать, если есть лучший способ сделать это. Я все еще новичок в кодировании.


Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.