Попробуйте этот код в любое время, когда вы хотите воспроизвести звук щелчка системы в расширении клавиатуры:
+ (void)keyboardClickSound {
// Check system preference for current setting of Keyboard Click Sound.
CFStringRef applicationID = CFSTR("/var/mobile/Library/Preferences/com.apple.preferences.sounds");
Boolean keyExistsAndHasValidFormat;
BOOL enableInputClicks
= CFPreferencesGetAppBooleanValue(CFSTR("keyboard"), applicationID, &keyExistsAndHasValidFormat);
// Note: If the key does not exist because it has never been changed by a user,
// set it to the default, YES.
if (!keyExistsAndHasValidFormat)
enableInputClicks = YES;
// Play Keyboard Click Sound, if enabled.
// Note: If Open Access=Off, no click sound.
if (enableInputClicks)
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),
^{ AudioServicesPlaySystemSound(1104); });
}
Если ваше приложение расширения клавиатуры содержит поле "RequestsOpenAccess" со значением YES, тогда для звука щелчка клавиатуры необходимо установить для параметра "Разрешить полный доступ" значение "Вкл." в настройках Общие > Клавиатура > Клавиатуры > Your_keyboard.
Если он выключен, вы не можете воспроизводить звук клавиш клавиатуры.