Estoy trabajando en un teclado personalizado y necesito reproducir el sonido del tap para las teclas si se activó en la Configuración. Tap sound no es un problema, pero ¿cómo verificar si el sonido de clic del teclado está habilitado? Gracias.Cómo verificar el teclado del iPhone ¿Desea encender/apagar el sonido del teclado en la configuración?
Respuesta
Si desea realizar la solución perfecta, se debe añadir la siguiente lcode a su aplicación De lo contrario, después de la primera lectura, la configuración se almacenará en caché, y si el usuario cambia a la configuración, hace cambios y vuelve a cambiar, deberíamos volver a leer el valor en caché. :)
- (void)applicationWillEnterForeground:(UIApplication *)application {
CFPreferencesAppSynchronize(CFSTR("/var/mobile/Library/Preferences/com.apple.preferences.sounds"));
Si alguien me dice cómo comentar en este sitio, realmente me volvería más útil.
No hay forma documentada de comprobar esto, pero es posible. No sé si esto realmente cuenta como "API privada", así que prepárese para el rechazo si usa este método.
La configuración del sonido del teclado se almacena en la preferencia com.apple.preferences.sounds
compartida. Lo que podría intentar
return CFPreferencesGetAppBooleanValue(
CFSTR("keyboard"),
CFSTR("/var/mobile/Library/Preferences/com.apple.preferences.sounds"),
NULL);
(Por cierto: la llamada real para reproducir el sonido "click" en UIKit es [UIHardware _playSystemSound:1104];
)
La llamada CFPreferencesGetAppBooleanValue funciona a la perfección, pero UIHardware no se reconoce (ni en ningún lugar de los documentos) por mí. En cambio, agregué el framework AudioToolkit y llamé 'AudioServicesPlaySystemSound (1104)' para el mismo efecto. –
@Kris: Eso es porque UIHardware es una clase privada. – kennytm
- 1. Configuración del idioma del teclado del iPhone
- 2. ¿Cómo se reproduce el sonido del clic del teclado en un teclado personalizado?
- 3. Cambia el color del teclado en iphone
- 4. Personalización del teclado del iPhone
- 5. Ocultar el teclado del iPhone usando Javascript
- 6. Mostrar el teclado del iPhone programáticamente
- 7. Cómo obtener el sonido del teclado amortiguado del iPhone OS 3.1?
- 8. Cómo deshabilitar el botón Ir en el teclado del iPhone
- 9. Teclado personalizado: inputView: cómo cambiar el tamaño del teclado?
- 10. iPhone 5 Tamaño del teclado
- 11. teclado del teclado numérico no muestra la tecla de retorno en el iphone
- 12. ¿Puedo disparar mediante programación el botón "cambiar al teclado numérico" en el teclado del iPhone
- 13. ¿Cuál es la altura del teclado en pantalla del iPhone?
- 14. Dimensiones del teclado del iPad
- 15. iPhone - El teclado oculta TextField
- 16. teclado del iPhone, botón Listo y resignFirstResponder
- 17. Disposición del teclado del iPhone para números negativos?
- 18. cómo ocultar el teclado programáticamente en iphone
- 19. Obteniendo la posición del mouse en el evento del teclado
- 20. Buscar teclado en el iPhone usando PhoneGap
- 21. Importar la configuración del teclado Emacs en Eclipse?
- 22. Mostrando el teclado del iPhone en diferentes idiomas según la entrada del usuario
- 23. ¿Detecta la ocultación del teclado del iPad frente a la conexión del teclado externo?
- 24. Encuentra el idioma del teclado Android actual
- 25. detectar el botón de búsqueda del teclado
- 26. jQuery - presione el carácter - INDEPENDIENTE del teclado
- 27. Cambiar el color del tinte del teclado para UITextField
- 28. cambiar el diseño del teclado con javascript
- 29. Emacs que determina el diseño del teclado
- 30. Teclado numérico del iPad
Frustrante, esto no parece funcionar en iOS 6.0.1. Mi aplicación parece almacenar en caché el valor de configuración que se seleccionó cada vez que la aplicación se carga por primera vez. Si cambio la configuración y vuelvo a mi aplicación, no se ajusta. Si forzo a salir de mi aplicación y reinicio, el cambio se recoge. Ahora tengo un dilema: no proporcionar clics clave en mi teclado personalizado, o vivir con el error que cambia la configuración mientras se suspende mi aplicación será ignorado. ¿Cuál es peor? –
Comprobé en 6.1.4, mi aplicación siempre obtiene ambos vars falsos de 'Boolean keyExistsAndHasValidFormat = false; valor bool = CFPreferencesGetAppBooleanValue ( RFCTA ("teclado"), RFCTA ("/ var/mobile/Library/Preferences/com.apple.preferences.sounds"), y keyExistsAndHasValidFormat); 'Así que mi código dejó de tocar clics hace mucho . Entonces, si los usuarios se quejan, los dirigiré directamente a Apple. Perdimos la pelea – Hrissan