2012-03-17 40 views
6

Ứng dụng iPhone của tôi dường như không thể sử dụng bàn phím mềm không sử dụng bố cục QWERTY giống như ở Hoa Kỳ. Đó là khi tôi đặt bàn phím sang tiếng Pháp hoặc Đức, ngay cả trường văn bản không thể nhận dạng văn bản và thông báo lỗi No input manager class for input mode lỗi được hiển thị trong bảng điều khiển (khi được gỡ lỗi trong Xcode). Chuyển sang bàn phím Emoji cũng hiển thị cùng một vấn đề. Nhưng vấn đề không xảy ra trên bố trí bàn phím QWERTY, như bàn phím tiếng Hà Lan và tiếng Indonesia.Không thể nhập bằng bàn phím không phải QWERTY trên iOS

Tất cả các trường hợp đều phù hợp và có thể tái sản xuất cả thiết bị (iPhone 4) và trình mô phỏng iPhone. Đây là những thông báo lỗi trong trình gỡ lỗi giao diện điều khiển của Xcode

Khi bàn phím được thiết lập để tiếng Pháp:

No input manager class for input mode: fr_FR

Khi bàn phím được thiết lập để Đức:

No input manager class for input mode: de_DE

Khi bàn phím được đặt thành Biểu tượng cảm xúc:

No input manager class for input mode: emoji

Mục tiêu triển khai ứng dụng của tôi là iOS 3.1.3 (Tôi vẫn hỗ trợ thiết bị gen đầu tiên) nhưng môi trường phát triển là Xcode 4.3.1 và iOS 5.1 Simulator. (Tôi không biết liệu điều này có liên quan nhưng chỉ trong trường hợp).

Bất kỳ ai cũng có thể giúp khắc phục sự cố này?

Xin cảm ơn trước.

+1

Thật khó để nói lên nguồn là những gì, tôi giả sử có không có vấn đề gì cho các dự án mới? Sẽ rất hữu ích khi tạo một cái để thử nghiệm và để thêm các khung công tác được sử dụng từng cái một, nó có thể sẽ giúp bạn tìm một lỗi thời hoặc cung cấp thêm chi tiết cho Apple trong khi gửi một lỗi. –

+0

Vâng, vấn đề không xuất hiện cho các dự án mới. – adib

+2

Tôi khuyên bạn nên bao gồm từng cái một tất cả các khung công tác từ dự án lỗi đến dự án mới. Điều đó sẽ giúp bạn xác định vấn đề, giải quyết câu hỏi cho các nhà phát triển khuôn khổ và đăng một gợi ý như là một câu trả lời ở đây. –

Trả lời

2

Trong trường hợp của tôi, điều này gây ra bởi sự lộn xộn của tôi -[NSBundle infoDictionary] và trả về một bản sao của từ điển gốc.

Tôi đã làm điều này để có thể thay đổi giá trị thông tin từ điển khi chạy (cụ thể, cung cấp tên hiển thị không được rút ngắn để thay thế giá trị rút ngắn được sử dụng trên màn hình chính).

Việc sửa chữa là không trả về một bản sao của thông tin từ điển, nhưng với một số phản ánh kỳ diệu hơn xử lý mỗi phím được lấy từ từ điển:

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

+0

Đối với trường hợp của tôi, tôi chỉ cần xóa việc triển khai [NSBundle infoDictionary] của mình – adib

1

Không chắc chắn nếu câu trả lời này sẽ giúp bạn, nhưng tôi thấy nó từ liên kết này: http://code.google.com/p/networkpx/wiki/Creating_Keyboard_Bundles

Dù sao đây là những gì tôi đang nói về:

Giống như UIKeyboardLayoutClass, lĩnh vực này cũng có thể được gọi bằng cú pháp "= xxx" tương tự . Bạn cũng có thể viết tên lớp của lớp học quản lý đầu vào của riêng bạn tại đây.

Nếu trường này bị thiếu, sẽ không có trình quản lý đầu vào nào được sử dụng.

Hy vọng điều này sẽ giúp ích cho bạn!

Các vấn đề liên quan