¿Por qué mi UILocalNotification no reproduce ningún sonido?

Esto me está volviendo loco, creo que he intentado todos los acercamientos posibles por ahora, pero mi teléfono aún decide permanecer en silencio. Solo quiero que suene un sonido por ahora cuando presento una notificación local. Actualmente, ni UILocalNotificationDefaultSoundName ni los sonidos personalizados que agregué a mi package de aplicaciones funcionan. Escribí una aplicación de count regresiva simple que usa presentLocalNotification: cuando finaliza la count regresiva.

 - (void)showLocalNotification { UILocalNotification *alarmNotification = [[UILocalNotification alloc] init]; alarmNotification.alertBody = [NSString stringWithFormat:@"finetworking at: %@", [NSDate date]]; alarmNotification.soundName = UILocalNotificationDefaultSoundName; // alarmNotification.soundName = @"glass.aiff"; // "glass.aiff" is a file in my application bundle [[UIApplication shanetworkingApplication] presentLocalNotificationNow:alarmNotification]; } 

También muestro un UIAlertView que se inicializará y mostrará desde AppDelegate cuando se reciba la notificación:

 - (void)application:(UIApplication *)application didReceiveLocalNotification:(UILocalNotification *)notification { UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"alert" message:@"Local notification was received" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil]; [alertView show]; } 

Se recibe la notificación local y se muestra la alerta, en el centro de notifications también puedo ver que la notificación se ha activado, solo el sonido no funciona …

Verifiqué todas las preguntas similares sobre el desbordamiento de stack, habilité todas mis configuraciones de sonido, me aseguré de que en las notifications de la aplicación se habilitaran las notifications del teléfono, incluso recibí notifications push de otras aplicaciones mientras estaba probando dónde se había reproducido el sonido. La

¿Qué diablos me falta porque mi teléfono no reproduce ningún sonido? ¿Tengo que importar algún marco o llamar a cualquier otra cosa en la notificación cuando la disparo o cuando se recibe?

Quizás la solución más fácil sería si alguien publicara una versión mínima del código que se necesita para reproducir el sonido pnetworkingeterminado cuando se presenta una notificación (aunque creo que ya escribí esa versión mínima yo mismo, excepto que no funciona).

Por cierto, probé la aplicación tanto en un dispositivo real como en el simulador, ninguno de los cuales funcionó …

el centro de notificaciones comprueba que todas mis notificaciones locales se activanla alerta demuestra que el delegado de mi aplicación recibe la notificación local

Si su aplicación está en primer plano cuando se dispara la notificación, no se reproduce ningún sonido automáticamente. Solo reproducirá el sonido automáticamente si su aplicación está en segundo plano en ese momento.

Tu captura de pantalla parece que tu aplicación pudo haber estado activa en primer plano en el momento en que la probaste.

De acuerdo con los documentos de notificación push de Apple:

Si la aplicación es más visible y visible cuando el sistema entrega la notificación, no se muestra ninguna alerta, no se muestra ningún icono y no se reproduce ningún sonido. Sin embargo, la aplicación: didReceiveLocalNotification: se llama si el delegado de la aplicación lo implementa. La instancia de UILocalNotification se pasa a este método y el delegado puede verificar sus properties o acceder a cualquier información personalizada del dictionary userInfo.

Siempre puede reproducir el sonido usted mismo utilizando el método AudioServicesPlaySystemSound () si así lo desea.

UINotification no reproduce sonido si la aplicación está activa porque no tiene sentido, supone que usted ve la notificación si la aplicación está activa, pero reproducirá el sonido si la aplicación no se está ejecutando o, en segundo plano, para notificar al usuario que ha llegado una notificación

Aclamaciones.

Tienes que usar el formatting *.caf . Pasé mucho time pero encontré una solución. *.mp3 *.wav pero no funciona.

Espero que funcione.

¿Cómo puedo convertir a formatting * .caf?

1) Abra el terminal

2) Ejemplo:

cd / Users / username / Desktop / FolderName

Haz clic en Entrar

3)

afconvert -f caff -d LEI16 @ 22050 -c 1 BlaBla.mp3 BlaBlaNew.caf

Haz clic en Entrar