Pregunta

Tengo una aplicación para iPhone en la que estoy trabajando que usa notificaciones push.

En la carga útil estoy especificando algunas cosas:

  • cuerpo del mensaje
  • sonido
  • action-loc-key porque no quiero que el usuario pueda iniciar la aplicación desde la notificación

La notificación está llegando a mi iPhone muy bien. Muestra un mensaje sin botones. Entonces body y action-loc-key están funcionando bien. Pero, no está reproduciendo ningún sonido.

Sin embargo, hay un par de cosas que noté durante la resolución de problemas:

  1. si implemento la aplicación: didReceiveRemoteNotification, todo se ve bien. El argumento Diccionario contiene una clave para el sonido, cuyo valor es el nombre del archivo que quiero reproducir.
  2. El archivo de sonido en sí " funciona " porque si lo juego dentro de la aplicación (usando la clase SoundEffect de la muestra BubbleLevel) funciona bien.

A pesar de estos dos hechos, el efecto de sonido simplemente no se reproduce.

En la aplicación de configuración, todo se ve bien: Push está activado para mi aplicación y tengo ambos "sonidos". y "alertas" activado también.

El centro de documentación de iPhone sugiere usar Quicktime para ver el formato del archivo. Así es como se ve.

texto alternativo ??

Finalmente, si miro la información de este archivo en XCode, dice que el tipo de archivo es simplemente el predeterminado, "archivo". Por lo que pude ver, no hay una opción de audio-caf en la lista. Intenté con audio-WAV (el ingeniero de sonido me dijo que los archivos originales eran WAV) pero eso no cambió nada.

Además, el código:

- (void)applicationDidFinishLaunching:(UIApplication *)application {

// view controller set up stuff
    // ...

[[UIApplication sharedApplication] registerForRemoteNotificationTypes:(UIRemoteNotificationTypeAlert | UIRemoteNotificationTypeSound)];

}

¿Fue útil?

Solución

También debería haber publicado el JSON, resulta que lo estaba construyendo mal. La razón por la que funcionó en la notificación didReceieveRemote es porque estaba analizando el JSON yo mismo y el hecho de que tenía cosas fuera de servicio no importaba.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top