Fix sms code entry using certain custom keyboards #358
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
r? @jflinter
tl;dr, When the delete key is pressed, some custom keyboards will call
textDocumentProxy.insertText("")
if the field is empty, rather thantextDocumentProxy.deleteBackward()
. This seems entirely at the discretion of the developer, so we should support both possibilities.I tested entering SMS codes with a few custom keyboards:
deleteBackward
is called.deleteBackward
is not called – instead,shouldChangeCharactersInRange:
is called with an empty string.A more heavy-handed solution would be to use
UIKeyboardTypePhonePad
, but that doesn't seem ideal.https://developer.apple.com/library/prerelease/content/documentation/General/Conceptual/ExtensibilityPG/CustomKeyboard.html