Can't find keyplane that supports type 4 when running on device, not simulator - ios

There's a bucketload of previous questions/answers about this already.
"Can't find keyplane that supports type 4 for keyboard
iPhone-Portrait-NumberPad; using
563160167_Portrait_iPhone-Simple-Pad_Default"
However all the answers involve changing a setting on the simulator, but I'm not using the simulator, I'm getting this message in the console when running on a phone.
There's also a few more answers when the issue arose trying to change the return key on the keyboard, but I'm not doing that either.
All I have is two UITextFields, one sets the keyboard entry type to UIKeyboardTypeNumberPad and the other uses the default keyboard type. That's it.
Then the message appears in the console when the text field set to UIKeyboardTypeNumberPad becomes the first responder.
If I change it to UIKeyboardTypePhonePad, then the message becomes
Can't find keyplane that supports type 5 for keyboard.
A numeric keypad will appear in both instances however it takes a very long time to do so, quite a few seconds.
If instead of specifying a numeric keypad the UITextField just uses the default keypad then it dose not have this long delay time before it appears.
[XCode 7.3, iPhone 6, iOS 9.2.1]

Related

Numeric Keypad and the text input is not visible in iOS screenshot

I have set the passwordTF.secureTextEntry = true and everything is working fine the UITextField is getting masked . But I see that if take a screenshot with the numeric keypad and masked input then the screenshot doesn't contains any keypad or text. Everything is blank . Is it the security feature of iOS for secureTextEntry ?
I tried to search but could not find any specific documents and I am using iOS 14.6
Sorry for being late actually I found out that it is a security feature which is in action since iOS 13 itself so if you have a keyboard which is numeric and in case you have a text field with secure text masking on then the screenshot captured will not show the keyboard or the textfield contents
Apple Discussion 1
Apple Discussion 2

How can I get the current SIM number in iPhone?

I know that unlike the operator name and the country code, it's not possible to get the user's phone number in iOS programmatically (at least not with publicly available APIs).
But I have just tried the app Lyft and it is autosuggesting my current phone number. I want to know how this app is doing that.
The phone number suggestion appearing above the keyboard is a built-in iOS feature and it works if a Text Content Type is set for a UITextField.
Since iOS 10, you can provide a content type for your inputs. iOS then will recommend autofill options for the given content type.
You can set up a content type...
in Interface Builder by navigating to the Text Input Traits section of the Attributes inspector (the fourth icon from the right in the top sidebar):
...or programmatically with:
textField.textContentType = .telephoneNumber

iOS Custom Keyboard Types

I'm worked on a custom keyboard and Apple review team rejected it because the keyboard does not support 'Numbers and Decimals' types.
So, I found that the problem is that when a text field requires those specific type of keyboard (for example to inset age, measures, or other numeric values), my keyboard 'misses to respond'.
I understood, reading from Apple documentation, that you must respond to the UIKeyboardTpye property per text object's.
I searched for specific delegate of the UIInputViewController but I wasn't able to find something close to that.
In this forum I found that one good place to examine the current keyboard type required is the textDidChange: delegate, but, it is not called.
I suppose this responder is called when your keyboard, somehow, 'declares' to iOS that it can handle Numbers or Decimal types. In fact I created a simple app with a simple UITextView that requires the Decimal keyboard type:
textView.keyboardType = UIKeyboardTypeDecimalPad;
And I put a NSLog() in the keyboard extension Input View Controller textDidChange: delegate.
As I tap on the text view my delegate is not called, instead the standard Decimal keypad is shown and in the Xcode console I see the following message:
Can't find keyplane that supports type 8 for keyboard iPhone-Portrait-DecimalPad; using 405786210_Portrait_iPhone-Simple-Pad_Default
I noticed also that this message comes when the UITextView requires the not-allowed keyboard types, i.e. the phonepad. All other keyboard types do not issue that message and the custom keyboard is shown and the textDidChange: delegate is correctly called.
The Numbers and Decimal types are surely allowed and are a MUST for the review team guys. Why the behave as a forbidden-types?
I think we need to 'declare', for example in the info.plist that our extension supports various keyboard types, but... well or more simply... I do not get the point... so... I'm asking... How can I add multiple keyboard types to my keyboard extension??
Thank you very much for help!
After the second rejection of my keyboard extension they sent me a screenshot. I noticed that they, generally, test apps on iPad. This made me think.
After some test it came out that the Numbers and Decimal types do not respond the same way on iPhone and iPad.
On iPhone a text view requiring Numbers or Decimal type keyboard always shows the iOS keypad, i.e. the custom extension is not called.
On the other side, on the iPad a text view requiring Numbers or Decimal type keyboard activates the custom extension.
Finally, after provided a standard numeric keypad (even if my keyboard uses hand-written techniquies) it was approved.

iOS 10 XCode 8 - secure text field, bug?

I updated my app from Xcode 7 to Xcode 8 and now I am facing a problem with my password input field.When the password is longer than the provided field, my app freezes and starts to consume memory until it crashes.Fun fact, it just happens when I set the text to "secure text".My field is vertically centered and has a fixed width (not sure if thats imporant), and when my password is longer than the number of characters, the input field can take (and where it should move to the left) I get the crash.
Did anybody experience smt like that?(as I said I just updated to a newer XCode - running on a 10.0.2 real device, didnt have that problem on the old one ...)
Thanks,
Regards
Yes, it is a bug.
Bug is like :
An app can freeze when a user types a large password into a textfield that tries to scale down the text to fit.
Check it : https://openradar.appspot.com/28590124
Possible solution :
change the secure password character in UITextfield
Secure UITextField text change to (*) asterisk character

Which UIKeyboardType can I use on the iPad

I have a a textField object in my iPad app. I would like to give the user a convenient keyboard for entering numbers. In my code I added:
UITextField *textField = [[UITextField alloc] initWithFrame:frame];
textField.keyboardType = UIKeyboardTypeDecimalPad;
According to the docs this is a valid keyboard type but when I edit the text field the normal ASCII keyboard comes up. However, when I change it to:
textField.keyboardType = UIKeyboardTypePhonePad;
The keyboard looks like this:
Ideally I would like a keyboard that only has the numbers and decimal point but is this not possible on the iPad? Does anyone have a definitive list of which keyboards work on the iPhone vs. iPad? Apple is unclear on this point. I also saw this question which is similar but none of the answers really address my point.
These are the UIKeyboardTypes that can be used on both iOS devices. From the docs:
UIKeyboardTypeDefault
Use the default keyboard for the current input method.
Available in iOS 2.0 and later.
Declared in UITextInputTraits.h.
UIKeyboardTypeASCIICapable
Use a keyboard that displays standard ASCII characters.
Available in iOS 2.0 and later.
Declared in UITextInputTraits.h.
UIKeyboardTypeNumbersAndPunctuation
Use the numbers and punctuation keyboard.
Available in iOS 2.0 and later.
Declared in UITextInputTraits.h.
UIKeyboardTypeURL
Use a keyboard optimized for URL entry. This type features “.”, “/”, and “.com” prominently.
Available in iOS 2.0 and later.
Declared in UITextInputTraits.h.
UIKeyboardTypeNumberPad
Use a numeric keypad designed for PIN entry. This type features the numbers 0 through 9 prominently. This keyboard type does not
support auto-capitalization.
Available in iOS 2.0 and later.
Declared in UITextInputTraits.h.
UIKeyboardTypePhonePad
Use a keypad designed for entering telephone numbers. This type features the numbers 0 through 9 and the “*” and “#” characters
prominently. This keyboard type does not support auto-capitalization.
Available in iOS 2.0 and later.
Declared in UITextInputTraits.h.
UIKeyboardTypeNamePhonePad
Use a keypad designed for entering a person’s name or phone number. This keyboard type does not support auto-capitalization.
Available in iOS 2.0 and later.
Declared in UITextInputTraits.h.
UIKeyboardTypeEmailAddress
Use a keyboard optimized for specifying email addresses. This type features the “#”, “.” and space characters prominently.
Available in iOS 2.0 and later.
Declared in UITextInputTraits.h.
UIKeyboardTypeDecimalPad
Use a keyboard with numbers and a decimal point.
Available in iOS 4.1 and later.
Declared in UITextInputTraits.h.
UIKeyboardTypeTwitter
Use a keyboard optimized for twitter text entry, with easy access to the # and # characters.
Available in iOS 5.0 and later.
Declared in UITextInputTraits.h.
UIKeyboardTypeAlphabet
Deprecated.
Use UIKeyboardTypeASCIICapable instead.
Available in iOS 2.0 and later.
Declared in UITextInputTraits.h.
Here are some screenshots of the different types of keyboards.
I tested which keyboard types are available for iPad/iPhone using the Simulator after receiving the warning
"Can't find keyplane that supports type 8 for keyboard
Wildcat-Landscape-QWERTY-Pad; using
2592645918_Wildcat-Alphabetic-Keyboard_Capital-Letters"
on the iPad for the UIKeyboardTypeDecimalPad. Hopefully this is useful for the next person that stumbles here.
iPad:
UIKeyboardTypeASCIICapable
UIKeyboardTypeNumbersAndPunctuation
UIKeyboardTypeURL
UIKeyboardTypeNumberPad
UIKeyboardTypeNamePhonePad
UIKeyboardTypeEmailAddress
UIKeyboardTypeTwitter
So, all of them except UIKeyboardTypeDecimalPad. using UIKeyboardTypeDecimalPad gets you nothing but a slap on the wrist in either iOS 5.1 or 6.1.
iPhone:
UIKeyboardTypeASCIICapable
UIKeyboardTypeNumbersAndPunctuation
UIKeyboardTypeURL
UIKeyboardTypeNumberPad
UIKeyboardTypeNamePhonePad
UIKeyboardTypeEmailAddress
UIKeyboardTypeDecimalPad
UIKeyboardTypeTwitter
i.e. all of them

Resources