2016-07-15 125 views
1

直升机朋友声音推送通知

我创建了一个码推nofication,但通知的silient,我需要使用声音, 在此行中我指定的类型:

let notificationTypes = UIUserNotificationType.Alert 

但不工作。 另一个问题,我如何使用徽章在应用程序图标中添加数字?

这是我的代码:

func setupNotificationSettings() { 

    let notificationSettings: UIUserNotificationSettings! = UIApplication.sharedApplication().currentUserNotificationSettings() 

    if (notificationSettings.types == UIUserNotificationType.None){ 

     let notificationTypes = UIUserNotificationType.Alert 

     let modifyListAction = UIMutableUserNotificationAction() 
     modifyListAction.identifier = "editList" 
     modifyListAction.title = "Edit list" 
     modifyListAction.activationMode = UIUserNotificationActivationMode.Foreground 
     modifyListAction.destructive = false 
     modifyListAction.authenticationRequired = true 

     let trashAction = UIMutableUserNotificationAction() 
     trashAction.identifier = "trashAction" 
     trashAction.title = "Delete list" 
     trashAction.activationMode = UIUserNotificationActivationMode.Background 
     trashAction.destructive = true 
     trashAction.authenticationRequired = true 

     let actionsArray = NSArray(objects: modifyListAction, trashAction) 
     let actionsArrayMinimal = NSArray(objects: trashAction, modifyListAction) 

     / 
     let shoppingListReminderCategory = UIMutableUserNotificationCategory() 
     shoppingListReminderCategory.identifier = "shoppingListReminderCategory" 
     shoppingListReminderCategory.setActions(actionsArray as? [UIUserNotificationAction], forContext: UIUserNotificationActionContext.Default) 
     shoppingListReminderCategory.setActions(actionsArrayMinimal as? [UIUserNotificationAction], forContext: UIUserNotificationActionContext.Minimal) 


     let categoriesForSettings = NSSet(objects: shoppingListReminderCategory) 


     / 
     let newNotificationSettings = UIUserNotificationSettings(forTypes: notificationTypes, categories: categoriesForSettings as? Set<UIUserNotificationCategory>) 
     UIApplication.sharedApplication().registerUserNotificationSettings(newNotificationSettings) 
    } 

} 

    func pushNotificationTest(){ 
     let localNotification = UILocalNotification() 
     localNotification .fireDate = fixNotificationDate(datePicker.date) //usar com datepicker 
     localNotification.alertBody = "Test" 
     localNotification.alertAction = "Test test test" 
     localNotification.category = "shoppingListReminderCategory" 

     UIApplication.sharedApplication().scheduleLocalNotification(localNotification) 

}

回答

2

你没有请求足够的权限。你只要求.Alert,但是.Sound.Badge都应该包括在内。变化:

let notificationTypes = UIUserNotificationType.Alert 

到:

let notificationTypes: UIUserNotificationType = [.Alert, .Sound, .Badge] 

要添加一个徽章,数量,用途:

localNotification.applicationIconBadgeNumber = 1 
+0

非常好。感谢您的帮助,解决问题 –