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

Posted

技术标签:

【中文标题】swift 本地通知弹出,没有徽章【英文标题】:swift Local notification pop up and no badge 【发布时间】:2016-08-05 23:08:11 【问题描述】:

我正在尝试在我的应用上弹出本地通知,但它仍保留在通知中心并增加徽章编号,即使我要求将徽章编号设为 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)

如何在我的应用图标上生成一个有声音(目前没有声音)且没有任何标志的弹出窗口?

编辑: 我使用弹出选项为我的应用启用了通知...

编辑2: 我还在我的 appDelegate 中添加了以下内容

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

【问题讨论】:

【参考方案1】:

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

此外,如果您使用 Webservice(php API) 进行通知,那么您可以从那里发送声音,您会收到声音警报。您的示例 PHP 代码有效负载将“默认”指定为要播放的声音。如果您想为本地通知播放自定义声音,请确保声音文件在应用程序包中。

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

【讨论】:

对不起,我有点困惑,这是否意味着本地通知无法播放任何声音也不会弹出?目前我的本地通知只显示在通知中心 是本地通知不能播放任何声音和徽章和弹出窗口。您是否使用 APNS 进行通知? 还没有,我会......我希望使用本地通知,但我需要管理推送通知......

以上是关于swift 本地通知弹出,没有徽章的主要内容,如果未能解决你的问题,请参考以下文章

Swift 本地通知图标徽章编号不递增

本地通知触发时更改图标徽章编号

应用程序在后台时未触发 iOS 本地通知

如何增加应用程序徽章编号以进行定期本地通知(iPhone)

取消本地通知时删除徽章编号

本地通知中的应用程序图标徽章是不是会被推送通知有效负载徽章覆盖?