我一直在寻找解决方案几个小时......绝对没有运气。
我设置了本地通知:
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";
注意声音名称......
我尝试发出10个声音(aiff,wav,caf ...等),但通知只是弹出默认声音:/
我在Resources文件夹中有“fireburn.caf”文件。
为什么不播放我的声音?????
感谢。
答案 0 :(得分:10)
解答:
代码没有问题..
只是愚蠢的iPhone没有取消我用默认声音制作的旧通知 - _ - ;
当我清理项目时,从手机中删除了应用程序并重新启动了手机,然后它才有效..
希望有人觉得这很有帮助。
答案 1 :(得分:1)
您是否使用
清除旧通知UIApplication* app = [UIApplication sharedApplication];
NSArray* oldNotifications = [app scheduledLocalNotifications];
// Clear out the old notification before scheduling a new one.
[app cancelAllLocalNotifications];
答案 2 :(得分:0)
试试这个:
notif.soundName = [strSoundFileName copy];