How to play keyboard click sound in custom keyboard?

In Swift add an extension to the input view as follows;

extension UIInputView : UIInputViewAudioFeedback {

    public var enableInputClicksWhenVisible: Bool {
        return true
    }

}

In the action method for your buttons call the following function:

    UIDevice.current.playInputClick()

Add the following property to your info.plist:

NSExtension | NSExtensionAttributes | RequestsOpenAccess = YES


Couldn't get any of this to work, but this worked for me:

#import <AudioToolbox/AudioToolbox.h>

AudioServicesPlaySystemSound(1104);

But still I had to subclass a UIButton and add the UIInputViewAudioFeedback Protocol to it.


Try this:

[[UIDevice currentDevice] playInputClick];

Note that

Use this method to play the standard system keyboard click in response to a user tapping in a custom input or keyboard accessory view. A click plays only if the user has enabled keyboard clicks in Settings > Sounds, and only if the input view is itself enabled and visible.

To enable a custom input or accessory view for input clicks, perform the following two steps:

Adopt the UIInputViewAudioFeedback protocol in your input view class. Implement the enableInputClicksWhenVisible delegate method to return YES.