有类似于我的帖子,但我还没有找到完全像它的帖子。这是发生了什么:
在我的应用中,我安排了本地通知:
UIApplication* app = [UIApplication sharedApplication];
[app cancelAllLocalNotifications];
UILocalNotification *localNotif = [[ UILocalNotification alloc ] init];
NSDate *date = [ [[ NSDate alloc] initWithTimeIntervalSinceNow:30 ] autorelease ];
if (localNotif == nil) {
return;
}
localNotif.fireDate = date;
localNotif.alertBody = @"Nearing Return Location!";
localNotif.alertAction = @"Ok";
localNotif.soundName = @"2_bubble_wrap.caf";
[[UIApplication sharedApplication] scheduleLocalNotification:localNotif];
[localNotif release];
在iOS 5中可以正常工作。在iOS 4.3中,在测试之前,请确保已打开声音并响亮。自然,文件的持续时间少于30秒。当它在iPhone 4上触发时,我没有声音,只有警报框。当我使用默认声音重新测试时,它会在通知中播放。当我将.caf文件名替换为乱码时,它还会播放默认声音,因此它知道我的文件在那里没有播放。当我在iOS 4.3模拟器中运行它时,它确实会播放.caf声音。我正在失去它。有任何想法吗?
格雷格
--
最佳答案
Simulator!=设备,尤其是在播放媒体文件时,因为Mac比iPhone支持更多的编解码器。检查您的caf文件是否已按照iPhone所需的方式进行编码,并纠正编码方面的任何问题都可以解决此问题。