2010-11-15 12 views
8

He estado buscando una solución por horas ... con absolutamente cero suerte.UILocalNotification sonido personalizado

puedo tener un local de notificaciones:

UILocalNotification *notif = [[cls alloc] init]; 

[dateComp setDay:j+1]; 
[dateComp setHour:[[time objectAtIndex:0] integerValue]+offset]; 
[dateComp setMinute:[[time objectAtIndex:1] integerValue]]; 

NSLog(@"Year: %i, Month: %i, Day: %i, Time:%i:%i\n",[dateComp year], [dateComp month], 
        [dateComp day], [dateComp hour], [dateComp minute]); 

notif.fireDate = [gregorian dateFromComponents:dateComp]; 
notif.timeZone = [NSTimeZone defaultTimeZone]; 

notif.alertBody = [names objectAtIndex: k]; 
notif.soundName = @"fireburn.caf"; 

Aviso el nombre del sonido ...

traté de poner 10 sonidos (AIFF, WAV, CAF, etc ...), pero la notificación simplemente aparece con el sonido predeterminado:/

Tengo el archivo "fireburn.caf" en la carpeta de Recursos.

¿Por qué no está reproduciendo mi sonido ?????

Gracias.

Respuesta

10

RESPUESTA:

No hay nada malo con el código ..

Es sólo que los estúpidos iPhone no canceló las antiguas notificaciones que he hecho con el sonido por defecto - _ -;

Cuando limpiaba el proyecto, eliminado la aplicación desde el teléfono y reiniciado el teléfono, entonces funcionó ..

la esperanza que alguien encuentre útil esta información.

+3

Si alguien todavía debería estar luchando con este tema, he descubierto que puede ser necesario hacer una cosa más. Cuando arrastre y suelte en el archivo de audio en su proyecto, además de verificar "Copiar ...", es posible que deba marcar también la opción "Añadir al destino". Esto hizo lo correcto para mí. Gracias por la respuesta de todos modos. –

+0

Impresionante, pero una vez más, su problema tiene que ver con CUALQUIER archivo de recursos que agregue (imágenes, sonidos, fuentes, ... etc.);) – Mazyod

1

estás limpiando las antiguas notificaciones con

UIApplication* app = [UIApplication sharedApplication]; 
NSArray* oldNotifications = [app scheduledLocalNotifications]; 

// Clear out the old notification before scheduling a new one. 
[app cancelAllLocalNotifications]; 

?

+0

Sí. Yo estaba. No funcionó. – Mazyod

0

Prueba esto:

notif.soundName = [strSoundFileName copy]; 
+1

¡Ya tenía la solución para el problema! – Hemang

Cuestiones relacionadas