2012-03-17 63 views
6

我的iPhone應用程序似乎無法使用不使用美式QWERTY佈局的軟鍵盤。當我將鍵盤設置爲法語或德語時,甚至文本字段也無法接收文本,並且在控制檯中顯示錯誤消息No input manager class for input mode(在Xcode下進行調試時)。切換到表情符號鍵盤也顯示相同的問題。但問題不會發生在QWERTY鍵盤佈局上,如荷蘭和印度尼西亞鍵盤。無法在iOS上使用非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。 (我不知道這是否相關,但以防萬一)。

有人可以幫助如何解決這個問題?

在此先感謝。

+1

這很難說什麼是源,我想有新項目沒有問題?如果創建一個用於測試並添加逐個使用的框架將會很有幫助,它可能會幫助您找到過時的框架,或者在提交錯誤時向Apple提供更多詳細信息。 – 2012-03-18 16:58:27

+0

是的,這個問題不會出現在新項目中。 – adib 2012-03-20 15:10:27

+2

我建議你隨後把所有的buggy項目框架都包含到新的框架中。這將幫助您識別問題,向框架開發人員解決問題並在此處發佈提示作爲答案。 – 2012-03-20 17:04:06

回答

2

在我的情況下,這是由於我翻新-[NSBundle infoDictionary]並返回原始字典的副本。

我這樣做是爲了能夠在運行時更改信息字典值(特別是,提供非縮短的包顯示名稱以替換主屏幕上使用的縮短值)。

此修復程序是不會返回信息庫的一個副本,但也有一些更多的思考魔術處理從字典中獲得的每個鍵:

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

+0

對於我的情況,我只是刪除了我的[NSBundle infoDictionary] – adib 2012-07-01 10:58:59

1

不知道這個答案會幫助你,但我發現它從這個鏈接:http://code.google.com/p/networkpx/wiki/Creating_Keyboard_Bundles

反正這裏就是我所說的:

像UIKeyboardLayoutClass,這個領域也可以使用被稱爲 相同的「= xxx」語法。您也可以在此輸入您自己的 輸入管理器類的類名稱。

如果缺少此字段,則不會使用輸入管理器。

希望這會幫助你!