UIKeyCommand with certain input keys (b, i, u) no longer work on iOS 9

Originator:agiletortoise
Number:rdar://25463955 Date Originated:31-Mar-2016 09:35 AM
Status:Open Resolved:
Product:iOS SDK Product Version:9
Classification:UI/Usability Reproducible:Always
 
Summary:
Prior to iOS 9, UIKeyCommands could be created and used for the hot-key combinations CMD-B, CMD-I, CMD-U (typically used for bold and italic text) for use in UITextViews and other UITextInput controls.

Starting with iOS 9, UIKeyCommands can still be assigned to these key combinations, but will be ignored by iOS.

Instantiating and returning these UIKeyCommands works fine, so there is no way of knowing they will fail.

1) These should work as they did prior to iOS 9.

2) If they do not work, UIKeyCommand should return nil or error of some sort creating UIKeyCommands that the system will ignore so the app can be aware they will fail and take appropriate action.

Steps to Reproduce:
- Open included sample project
- Run app on device running iOS 9 or greater with external bluetooth keyboard attached.
- Focus one of the UITextViews
- Hit cmd-b, cmd-i, cmd-u – these keyboard shortcuts will be ignored.
- Hit cmd-e, cmd-p - see output in console log.

Expected Results:
cmd-i, cmd-b, cmd-u (and possibly other combinations reserved by the system) do not fire UIKeyboardCommands returned by the app...they should fire.

If the system is reserving keyboard shortcuts, there should be a way to know what those are so the app can act accordingly to prevent use of invalid key combinations.

Actual Results:
Keyboard commands are ignored.

Version:
iOS 9 or greater

Notes:
These key commands DID work prior to iOS 9.

Configuration:
Any with external keyboard

Attachments:
'BUG_KeyCommand.zip' was successfully uploaded.

Comments


Please note: Reports posted here will not necessarily be seen by Apple. All problems should be submitted at bugreport.apple.com before they are posted here. Please only post information for Radars that you have filed yourself, and please do not include Apple confidential information in your posts. Thank you!