130
votes

I have a UITextField Ctrl-dragged as an @Outlet in my .swift class. Now in viewDidLoad i'm using this code

self.myTextField.keyboardType = UIKeyboardType.DecimalPad

When i launch my app on simulator and click on the UITextField i got this log

    Can't find keyplane that supports type 8 for keyboard 
    iPhone-Portrait-DecimalPad; 
    using 2617181025_Portrait_iPhone-Simple-Pad_Default

I have no crash or something but the keyboard is not displayed. I also tried to set it from Storyboard but it's the same.

I also noticed that whenever i click on any UITextField the keyboard is never displayed (but no log is shown for the default keyboard)

I'm using Xcode-Beta 3 anyone faced this issue?

10
Refer this linkyazh
Still a problem only on simulator thou. Xcode 8.3Craig
None of the answers in this page is relevant anymore (as of July 2017), at least with Xcode 8.AnBisw
Xcode 11.2.1. Physical iPhone X. Same problem.Vince O'Sullivan
@VinceO'Sullivan How was this solved??H.Jacob

10 Answers

209
votes

I too had this problem after updating to the latest Xcode Beta. The settings on the simulator are refreshed, so the laptop (external) keyboard was being detected. If you simply press:

 iOS Simulator -> Hardware -> Keyboard -> Connect Hardware Keyboard

then the software keyboard will be displayed once again.

34
votes

Go to iOS Simulator-> Hardware-> Keyboard -> Uncheck the Connect Hardware Keyboard Option. This will fix the issue.

20
votes

This message comes when the keyboard type is set to numberPad or DecimalPad. But the code works just fine. Looks like its a bug with the new Xcode.

18
votes

If you're getting this bug with Xcode Beta, it's a beta bug and can be ignored (as far as I've been told). If you can build and run on a release build of Xcode without this error, then it is not your app that has the problem.

Not 100% on this, but see if this fixes the problem:

iOS Simulator -> Hardware -> Keyboard -> Toggle Software Keyboard.

Then, everything works

14
votes

I have fixed this issue by unchecking 'Connect Hardware Keyboard'. Please refer to the image below to fix this issueenter image description here

4
votes

Xcode: 6.4 iOS:8 I got this error as well, but for a very different reason.

//UIKeyboardTypeNumberPad needs a "Done" button    
UIBarButtonItem *doneBarButton = [[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemDone
                                                                              target:self
                                                                              action:@selector(doneBarButtonTapped:)];

enhancedNumpadToolbar = [[UIToolbar alloc]init]; // previously declared
[self.enhancedNumpadToolbar setItems:@[doneBarButton]];
self.myNumberTextField.inputAccessoryView = self.enhancedNumpadToolbar; //txf previously declared

I got the same error (save mine was "type 4" rather than "type 8"), until I discovered that I was missing this line:

[self.enhancedNumpadToolbar sizeToFit];

I added it, and the sun started shining, the birds resumed chirping, and all was well with the world.

PS You would also get such an error for other mischief, such as forgetting to alloc/init.

0
votes

This error had come when your keyboard input type is Number Pad.I got same error than I change my Textfield keyboard input type to Default fix my issue.

0
votes

There is no "Numeric Keypad" for iPads out of the box. When you specify one iPads display the normal keypad with the numeric part displayed. You can switch over to alpha characters, etc. If you want to display a numbers only keyboard for iPad you must implement it yourself.

See here: Number keyboard in iPad?

0
votes

iOS Simulator -> I/O -> Keyboard -> Connect Hardware Keyboard

I was facing similar issues but above flow chart is the fix for your issue.

-2
votes

For me turning on and off the setting on

iOS Simulator -> Hardware -> Keyboard -> Connect Hardware Keyboard

proved to fix the issue on simulators.