Xcode iOS 8 Keyboard Types Not Supported

Xcode iOS 8 Keyboard types not supported

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.

in iOS 8 when clicking on uitextfield keyboard is not open

In your iOS simulator, make sure that you've unchecked Hardware > Keyboard > Connect Hardware Keyboard.

Get keyboard size on iOS 8 not working with external keyboard

You can detect if external keyboard is connected and and set keyboard's height to 0 by doing something like that.

Objective-C version:

CGRect finalKeyboardFrame = [[info objectForKey:UIKeyboardFrameEndUserInfoKey] CGRectValue];
finalKeyboardFrame = [self convertRect:finalKeyboardFrame fromView:self.window];

NSLog(@"origin.y: %f", finalKeyboardFrame.origin.y);

Shows the y coordinate properly depending if external keyboard is connected or not:

origin.y: 258.000000 (not connected)

origin.y: 474.000000 (connected)

Can't find keyplane that supports type 4 for keyboard iPhone-Portrait-NumberPad; using 3876877096_Portrait_iPhone-Simple-Pad_Default

I also had this problem and found the solution.

Below is the code which will work for iOS 8.0 and also for below versions.

I have tested it on iOS 7 and 8.0 (Xcode Version 6.0.1)

- (void)addButtonToKeyboard
{
// create custom button
self.doneButton = [UIButton buttonWithType:UIButtonTypeCustom];
//This code will work on iOS 8.3 and 8.4.
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.3) {
self.doneButton.frame = CGRectMake(0, [[UIScreen mainScreen] bounds].size.height - 53, 106, 53);
} else {
self.doneButton.frame = CGRectMake(0, 163+44, 106, 53);
}

self.doneButton.adjustsImageWhenHighlighted = NO;
[self.doneButton setTag:67123];
[self.doneButton setImage:[UIImage imageNamed:@"doneup1.png"] forState:UIControlStateNormal];
[self.doneButton setImage:[UIImage imageNamed:@"donedown1.png"] forState:UIControlStateHighlighted];

[self.doneButton addTarget:self action:@selector(doneButton:) forControlEvents:UIControlEventTouchUpInside];

// locate keyboard view
int windowCount = [[[UIApplication sharedApplication] windows] count];
if (windowCount < 2) {
return;
}

UIWindow *tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];
UIView *keyboard;

for (int i = 0; i < [tempWindow.subviews count]; i++) {
keyboard = [tempWindow.subviews objectAtIndex:i];
// keyboard found, add the button
if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.3) {

UIButton *searchbtn = (UIButton *)[keyboard viewWithTag:67123];
if (searchbtn == nil)
[keyboard addSubview:self.doneButton];

} else {
if([[keyboard description] hasPrefix:@" UIButton *searchbtn = (UIButton *)[keyboard viewWithTag:67123];
if (searchbtn == nil)//to avoid adding again and again as per my requirement (previous and next button on keyboard)
[keyboard addSubview:self.doneButton];

} //This code will work on iOS 8.0
else if([[keyboard description] hasPrefix:@"
for (int i = 0; i < [keyboard.subviews count]; i++)
{
UIView *hostkeyboard = [keyboard.subviews objectAtIndex:i];

if([[hostkeyboard description] hasPrefix:@" UIButton *donebtn = (UIButton *)[hostkeyboard viewWithTag:67123];
if (donebtn == nil)//to avoid adding again and again as per my requirement (previous and next button on keyboard)
[hostkeyboard addSubview:self.doneButton];
}
}
}
}
}
}

>

- (void)removedSearchButtonFromKeypad 
{

int windowCount = [[[UIApplication sharedApplication] windows] count];
if (windowCount < 2) {
return;
}

UIWindow *tempWindow = [[[UIApplication sharedApplication] windows] objectAtIndex:1];

for (int i = 0 ; i < [tempWindow.subviews count] ; i++)
{
UIView *keyboard = [tempWindow.subviews objectAtIndex:i];

if ([[[UIDevice currentDevice] systemVersion] floatValue] >= 8.3){
[self removeButton:keyboard];
} else if([[keyboard description] hasPrefix:@" [self removeButton:keyboard];

} else if([[keyboard description] hasPrefix:@"
for (int i = 0 ; i < [keyboard.subviews count] ; i++)
{
UIView *hostkeyboard = [keyboard.subviews objectAtIndex:i];

if([[hostkeyboard description] hasPrefix:@" [self removeButton:hostkeyboard];
}
}
}
}
}


- (void)removeButton:(UIView *)keypadView
{
UIButton *donebtn = (UIButton *)[keypadView viewWithTag:67123];
if(donebtn) {
[donebtn removeFromSuperview];
donebtn = nil;
}
}

Hope this helps.

But , I still getting this warning:

Can't find keyplane that supports type 4 for keyboard iPhone-Portrait-NumberPad; using 3876877096_Portrait_iPhone-Simple-Pad_Default

Ignoring this warning, I got it working.
Please, let me know if you able to get relief from this warning.

Keyboard not shown under iOS 8

Finally, find that it's simulator's issue, not iOS 8's bug.

Workaround:

iOS Simulator > Hardware > Keyboard > Toggle Software Keyboard

or just press Cmd + K

Yeah, I've connected a hardware keyboard via bluetooth, but didn't notice this keyboard toggle function until now. Seems Xcode 6 will use my hardware keyboard by default.

Decimal Pad keyboard not working properly in iOS 8

Turns out, the issue with the UITextField animation was not due to the keyboard problem. I needed to set up constraints in Xcode's storyboard for the UITextField, make outlets for them in my view controller, and use the constraints to programmatically move the UITextField. I have that working now. However, the error message still pops up when the decimal pad comes up. I guess I can just ignore it until Apple fixes it.

EDIT:

I reported the bug to Apple.

Can't find keyplane that supports type 10 for keyboard iPhone-Portrait-Emoji

Are you using the simulator? If so you should uncheck your keyboard.

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

That could fix your first error: similar problems on Stackoverflow

Update

Google does not allow to search on emoji anymore. source

You could disable emoji in iOS to avoid searching with emoji: ios 8 disable emoji

The second 'fatal error': just catch the nil caused by the emoji



Related Topics



Leave a reply



Submit