2012-03-17 4 views
6

내 iPhone 앱은 미국식 QWERTY 레이아웃을 사용하지 않는 소프트 키보드를 사용할 수 없습니다. 즉, 키보드를 프랑스어 또는 독일으로 설정하면 텍스트 필드에서 텍스트를 가져올 수 없으며 오류 메시지가 표시됩니다. No input manager class for input mode (Xcode에서 디버깅 할 때) 콘솔에 오류가 표시됩니다. 그림 이모티콘 키보드로 전환해도 같은 문제가 발생합니다. 그러나 QWERTY 키보드 레이아웃에서는 네덜란드어 및 인도네시아어 키보드와 같은 문제가 발생하지 않습니다.iOS에서 QWERTY가 아닌 키보드를 사용하여 입력 할 수 없음

모든 경우 (iPhone 4)와 iPhone 시뮬레이터 모두 일관되고 재현 가능합니다. 키보드가 프랑스어로 설정하면 다음은 엑스 코드의 디버거 콘솔

에서 오류 메시지는 다음과 같습니다

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입니다. (이것이 적절한 지 여부는 모르겠다.)

누구든지 문제를 해결하는 방법을 알려 드릴 수 있습니까?

미리 감사드립니다.

+1

그것은 소스 무엇을 이야기하기 어렵다를, 나는 거기에 생각 새로운 프로젝트에는 아무런 문제가 없습니까? 테스트 용 프레임 워크를 만들고 하나씩 사용되는 프레임 워크를 추가하는 데 도움이 될 것입니다. 오래된 프레임 워크를 찾거나 버그를 제출하는 동안 Apple에 자세한 내용을 제공하는 데 도움이 될 것입니다. –

+0

그래, 새 프로젝트에는 문제가 나타나지 않습니다. – adib

+2

다음은 버그가있는 프로젝트에서 새 프레임 워크로 모든 프레임 워크를 하나 하나 포함하는 것이 좋습니다. 이렇게하면 문제를 식별하고 프레임 워크 개발자에게 질문 할 수 있으며 힌트를 대답으로 게시 할 수 있습니다. –

답변

2

필자의 경우 이것은 -[NSBundle infoDictionary]을 swizzling하고 원래 사전 복사본을 반환하여 발생합니다.

런타임시 정보 사전 값을 변경할 수 있도록했습니다 (특히, 홈 화면에 사용 된 단축 값을 대체 할 단축되지 않은 번들 표시 이름 제공).

수정이 정보 사전의 복사본을 반환하지 않는,하지만 좀 더 반사 마법 사전에서 얻은 각각의 키 처리 :

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

+0

제 경우에는 [NSBundle infoDictionary]의 구현을 간단히 제거했습니다. – adib

1

확실하지 않음이 답변이 도움이 될 것입니다하지만이 링크에서 그것을 발견하는 경우 :

처럼 UIKeyboardLayoutClass는,이 필드는 또한 사용하여 참조 할 수 있습니다 : 어쨌든 여기 http://code.google.com/p/networkpx/wiki/Creating_Keyboard_Bundles

내가 이야기하고있는 무슨이다 같은 "= xxx"구문. 입력 관리자 클래스 의 클래스 이름을 여기에 작성할 수도 있습니다.

이 필드가없는 경우 입력 관리자가 사용되지 않습니다.

잘하면이 도움이 될 것입니다!

관련 문제