有一些类似于我的帖子,但我找不到一个与它完全相同的帖子。以下是发生的事情:
在我的应用中,我安排了本地通知:
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声音。我失去了它。任何人的想法?
格雷格
-
答案 0 :(得分:2)
模拟器!=设备,尤其是播放媒体文件时,因为您的Mac支持的编解码器比iPhone更多。检查您的caf文件是否按照iPhone需要的方式编码并纠正编码问题可以解决问题。