通知声音和徽章不起作用

Posted

技术标签:

【中文标题】通知声音和徽章不起作用【英文标题】:Notification Sound and Badge don't work 【发布时间】:2016-07-25 12:27:14 【问题描述】:

我创建了一个远程推送通知,通知效果很好,但是声音和徽章不起作用。在我的服务器端代码中,我有:

$messageBody['aps'] = array('alert' => $message, 'sound' => 'default','badge' => 2);

这是 ios 代码:

func application(application: UIApplication, didFailToRegisterForRemoteNotificationsWithError error: NSError) 
    //print(error)


func application(application: UIApplication, didRegisterForRemoteNotificationsWithDeviceToken deviceToken: NSData) 

    print(deviceToken)




func application(application: UIApplication, didReceiveRemoteNotificationuserInfo userInfo: [NSObject : AnyObject]) 
    print(userInfo)


func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool

    // Override point for customization after application launch.
    application.registerForRemoteNotifications()
    application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: .Alert, categories: nil))

    initLocationManager()

    return true


为什么声音和徽章不起作用?

【问题讨论】:

好像没问题(我认为这是服务器端代码),那ios客户端代码呢? 是的,这是我的服务器api的php代码,这个代码发送到APNs,这个数组被发送到苹果使用 你的IOS代码在哪里? 对不起,我编辑帖子并添加iOS代码 【参考方案1】:

php 代码看起来不错。在应用程序中,您是否注册了推送通知?还可以尝试卸载该应用,然后重新安装并接受该应用的声音和徽章。

编辑:同时在您的应用设置中启用声音和徽章。

编辑 2:试试这个:做:let types:UIUserNotificationType = [UIUserNotificationType.Alert, UIUserNotificationType.Badge, UIUserNotificationType.Sound] 然后application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: types, categories: nil)) 您必须为应用程序注册警报、声音和徽章,但您只注册了警报。

【讨论】:

我已经这样做了,我卸载了应用程序,接受了声音和徽章,但没有用 在哪里启用声音和徽章?不是自动的吗? @AlexandreC.doCarmo 我明白了,您注册应用程序仅用于警报,而不用于声音和徽章... @AlexandreC.doCarmo 做:let types:UIUserNotificationType = [UIUserNotificationType.Alert, UIUserNotificationType.Badge, UIUserNotificationType.Sound] 然后application.registerUserNotificationSettings(UIUserNotificationSettings(forTypes: types, categories: nil)) @AlexandreC.doCarmo 没问题

以上是关于通知声音和徽章不起作用的主要内容,如果未能解决你的问题,请参考以下文章

警报和声音在博览会推送通知中不起作用

本地通知声音不起作用

本地通知声音不起作用

自定义本地通知声音不起作用

添加自定义推送通知声音 ios5 不起作用

科尔多瓦本地通知声音在 ios 和 Android 中不起作用