我的iPhone应用程序似乎无法使用不使用类似美国QWERTY布局的软键盘。这是当我将键盘设置为法语或德语时,即使文本字段也不能接收文本,并且控制台中显示错误消息No input manager class for input mode
错误(在Xcode下调试时)。切换到表情符号键盘也会出现同样的问题。但问题不会出现在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(我仍然支持第一代设备),但开发环境是Xcode 4.3.1和iOS 5.1 Simulator。 (我不知道这是否相关,但以防万一)。
任何人都可以帮忙解决这个问题吗?
提前致谢。
答案 0 :(得分:2)
在我的情况下,这是由我的混合-[NSBundle infoDictionary]
引起并返回原始字典的副本。
我这样做是为了能够在运行时更改信息字典值(具体来说,提供一个非缩短的包显示名称来替换主屏幕上使用的缩短值)。
修复是不返回信息字典的副本,但是从字典中获得的每个键都有一些反射魔术处理:
https://github.com/Lyndir/Pearl/blob/master/Pearl/NSBundle%2BPearlMutableInfo.m
答案 1 :(得分:1)
不确定此答案是否会对您有所帮助,但我通过以下链接找到了答案:http://code.google.com/p/networkpx/wiki/Creating_Keyboard_Bundles
无论如何,这就是我所说的:
与UIKeyboardLayoutClass一样,此字段也可以使用 相同的“= xxx”语法。您也可以编写自己的类名 输入管理员课程。
如果缺少此字段,则不会使用任何输入管理器。
希望这会对你有帮助!