According to documentation convenience initializer with discoverabilityTitle
is now deprecated:
// Key Commands with a discoverabilityTitle _will_ be discoverable in the UI.
@available(iOS, introduced: 9.0, deprecated: 13.0)
public convenience init(input: String, modifierFlags: UIKeyModifierFlags, action: Selector, discoverabilityTitle: String)
What's the alternative for creating user discoverable key command now?
New extended initializer is introduced in iOS 13:
@available(iOS 13.0, *)
extension UIKeyCommand {
/// Initializes a key command with extra properties.
///
/// - Parameters:
/// - title: Short display title. This should be localized.
/// - action: Action to execute on choosing this command.
/// - input: Keys that must be pressed to choose this command.
/// - modifierFlags: Bit mask of key modifier flags to choose this command.
/// - propertyList: Property list object to distinguish commands, if needed.
/// - alternates: Alternates that differ in modifier flags, if needed.
/// - image: Image that can appear next to the command, if any.
/// - discoverabilityTitle: Elaborated title, if any.
/// - isEnabled: Whether to enable or disable the command.
/// - state: State that can appear next to the command.
public convenience init(title: String, action: Selector, input: String, modifierFlags: UIKeyModifierFlags = [], propertyList: Any? = nil, alternates: [UICommandAlternate] = [], image: UIImage? = nil, discoverabilityTitle: String? = nil, isEnabled: Bool = true, state: UIMenuElement.State = .off)
}