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.