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