swift本地通知弹出,没有徽章

时间:2016-08-05 23:08:11

标签: ios swift2 uilocalnotification

我试图在我的应用上弹出本地通知,但它仍然留在通知中心并递增徽章编号,即使我要求将徽章编号设为0。

这是我的代码:

 application.cancelAllLocalNotifications()
    var localNotification = UILocalNotification()
    localNotification.fireDate = NSDate(timeIntervalSinceNow: 5)
    localNotification.alertBody = "Hello World"
    localNotification.alertAction = "Add expense"
    //localNotification.timeZone = NSTimeZone.defaultTimeZone()
    localNotification.applicationIconBadgeNumber = 0
    localNotification.soundName = UILocalNotificationDefaultSoundName
    UIApplication.sharedApplication().scheduleLocalNotification(localNotification)

如何在我的应用图标上没有任何徽章的情况下生成带声音的弹出窗口(目前没有声音)?

编辑: 我使用弹出选项...

为我的应用启用了通知

EDIT2: 我还在appDelegate中添加了以下内容

if(UIApplication.instancesRespondToSelector(#selector(UIApplication.registerUserNotificationSettings(_:)))) {
    print("enable local notif")
        UIApplication.sharedApplication().registerUserNotificationSettings(UIUserNotificationSettings(forTypes: [.Alert, .Badge, .Sound], categories: nil))
    }

1 个答案:

答案 0 :(得分:1)

首先清除本地通知不提供任何声音,徽章和弹出窗口。您收到通知但没有提醒任何声音或徽章,您可以检查该通知是否在从顶部滑动通知时进入后台。

此外,如果您使用Webservice(php API)进行通知,那么您可以从那里发送声音以获得声音警报。您的示例PHP代码有效负载指定了默认&​​#39;作为播放的声音。如果要为本地通知播放自定义声音,请确保声音文件位于应用程序包中。

$payload['aps'] = array('alert' => $message, 'badge' => 0, 'sound' => 'bingbong.aiff'