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

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

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

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

4b9b3361

Ответ 1

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

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

Ответ 2

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

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

Ответ 3

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

Ответ 4

Из меню Simulator → Оборудование → Клавиатура → Подключить аппаратную клавиатуру

ИЛИ

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

Ответ 5

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

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

Ответ 6

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

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

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

Ответ 7

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

Ответ 8

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

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

Ответ 9

Повторение приведенной ниже команды дважды сработало для меня !!

CMD + Shift + K

Ответ 10

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

Ответ 11

Не проблема. Просто выполните эти простые шаги.

  • Open Simulator

  • Идти в начало страницы И вы видите, что на этом аппарате есть опция.

  • Когда вы нажимаете "Оборудование", появляется какой-либо параметр, а один из них - "Клавиатура".

  • Нажмите кнопку "Клавиатура", и вы увидите три варианта.

  • Если вы хотите использовать клавиатуру Mac, попробуйте выбрать вторую опцию Connect Аппаратная клавиатура.

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

  • 1-й вариант предназначен для тех, кто выбирает свою клавиатуру через код.

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

Ответ 12

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

Это сработало для меня.

Ответ 13

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

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

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

Ответ 14

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

Ответ 15

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

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

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

Надеюсь, это поможет вам с проблемой, спасибо. enter image description here

Ответ 16

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

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

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

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

Ответ 17

Выйдите из симулятора и выполните следующую команду в терминале:

rm ~/Library/Preferences/com.apple.iphonesimulator.plist

Ответ 18

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

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

Ответ 19

Постоянное исправление:

При нажатии CMD + K помогает временно; Я предлагаю отключить "Медленные анимации", которые можно найти в разделе "Отладка" → "Медленные анимации". Это устраняет проблему постоянно.

Ярлык: CMD + T

Ответ 20

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

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

Ответ 21

Для версии 10.0 (SimulatorApp-851.2 CoreSimulator-518.19) с Xcode 9.3 у меня ничего не получалось. Я сбрасываю симулятор с помощью Hardware → Erase All Content и Settings → Erase. Почистил проект и запустил на симуляторе. Подключение клавиатуры вернулось.

Ответ 22

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

Ответ 23

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

Ответ 24

Я просто перезагружаю симулятор, и он работает для меня.

Ответ 25

Просто используйте CMD + SHIFT + K, и клавиатура активируется самостоятельно.

Ответ 26

для меня на симуляторе, открытом в меню вашего Mac, нажмите "Оборудование" и выберите "Доступ к клавиатуре" и выберите переключение программной клавиатуры. как показано

Ответ 27

Существует библиотека для редактирования файлов 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")

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

Ответ 28

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