2

我正在以这种方式实施通知:

-(void)scheduleLocalNotificationWithDate:(NSDate *)AlarmDate{
    UILocalNotification *Notification = [[UILocalNotification alloc]init];
    Notification.fireDate = AlarmDate;
    Notification.alertBody = @"Time to wake up!";
    Notification.soundName = @"sound.caf";
    [[UIApplication sharedApplication] scheduleLocalNotification:Notification];
}

因此,当通知触发时没有声音。可能是什么问题?

*文件名正确 *声音持续时间:32 秒 *我正在使用 IOS 模拟器 *声音在“支持文件”中,“物理上”也在项目文件夹中 *试图设置绝对路径,但这也没有帮助。

UPD:不是本地的,推送通知。(我的意思是即使你关闭应用程序它也会工作)

4

3 回答 3

1

本地通知在 iphone 模拟器上效果不佳,您应该在真实设备上尝试它们。

于 2012-04-27T18:48:09.097 回答
0

我很困惑,您说您正在发送推送通知,但您的代码显示了本地通知。

对于推送通知,您的应用程序必须在获取推送通知令牌时指定它需要声音:

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

如果您的应用最初注册通知而没有请求音频通知,您可能必须删除应用并重新安装,然后 iOS 才会注意到您的应用改变了主意。

此外,请确保在“设置”>“通知”>“YOUR_APP”中打开“声音”。

此外,Apple 的本地和推送通知编程指南说自定义声音的长度可能最多为 30 秒,否则播放默认通知。这适用于推送和本地通知。

于 2012-10-10T23:32:09.800 回答
0

本地通知适用于模拟器上的声音(我刚刚使用 Xcode 7.1 进行了测试),但是如果剪辑超过 30 秒,声音将不会播放。

于 2015-11-23T20:28:03.330 回答