Невозможно печатать с использованием не QWERTY-клавиатур на iOS - PullRequest
6 голосов
/ 17 марта 2012

В моем приложении для iPhone, похоже, не используются программные клавиатуры, которые не используют американскую раскладку QWERTY. То есть, когда я установил клавиатуру на французскую или немецкую, даже текстовые поля не могут воспринимать текст, и в консоли отображается сообщение об ошибке No input manager class for input mode error (при отладке в Xcode). Переключение на клавиатуру Emoji также показывает ту же проблему. Но проблема не возникает на раскладках клавиатуры QWERTY, таких как клавиатуры на голландском и индонезийском языках.

Все случаи являются согласованными и воспроизводимыми как для устройства (iPhone 4), так и для симулятора iPhone. Это сообщения об ошибках в консоли отладчика Xcode

Когда клавиатура установлена ​​на французский:

No input manager class for input mode: fr_FR

Когда клавиатура настроена на Германию:

No input manager class for input mode: de_DE

Когда клавиатура установлена ​​на эмодзи:

No input manager class for input mode: emoji

Цель развертывания моего приложения - iOS 3.1.3 (я все еще поддерживаю устройства 1-го поколения), но среда разработки - Xcode 4.3.1 и iOS 5.1 Simulator. (Не знаю, насколько это актуально, но на всякий случай).

Кто-нибудь может помочь, как это исправить?

Заранее спасибо.

Ответы [ 2 ]

2 голосов
/ 24 июня 2012

В моем случае это было вызвано тем, что я перевернул -[NSBundle infoDictionary] и вернул копию оригинального словаря.

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

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

https://github.com/Lyndir/Pearl/blob/master/Pearl/NSBundle%2BPearlMutableInfo.m

1 голос
/ 22 июня 2012

Не уверен, поможет ли вам этот ответ, но я нашел его по этой ссылке: http://code.google.com/p/networkpx/wiki/Creating_Keyboard_Bundles

В любом случае, вот о чем я говорю:

Как и UIKeyboardLayoutClass, к этому полю также можно обращаться, используя тот же синтаксис "= xxx". Вы также можете написать собственное имя класса класс менеджера ввода здесь.

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

Надеюсь, это поможет вам!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...