2016-10-21 5 views
0

Я использую следующий код для отображения числа, как значок на моем значке приложения:IOS10: значок COUNT не отображается

func triggerNotification(iAmountToday: Int) { 
    UNUserNotificationCenter.currentNotificationCenter().requestAuthorizationWithOptions([.Badge, .Sound, .Alert]) { (granted, error) in 
    if granted { 
     let content = UNMutableNotificationContent() 
     content.badge = iAmountToday 
     content.categoryIdentifier = "com.psv.localNotification" 
     let trigger = UNTimeIntervalNotificationTrigger.init(timeInterval: 1.0, repeats: false) 
     let request = UNNotificationRequest.init(identifier: "AmountTodayUpdate", content: content, trigger: trigger) 

     let center = UNUserNotificationCenter.currentNotificationCenter() 
     center.addNotificationRequest(request, withCompletionHandler: { (error) in 
     if (error != nil) { 
      print (error) 
     } 
     }) 
    } 
    } 
} 

Хотя никакой ошибки не генерируются, значок никогда не отображается на значке приложений.

Что я делаю неправильно?

Приветствия

+0

Попробуйте это. content.badge = iAmountToday как NSNumber? также проверять значение iAmountToday или нет. – Wolverine

+0

Привет @Wolverine, я пробовал это, но никакого эффекта. iAmountToday не менее 0 - я тоже проверил это, тоже – AntonSack

+0

попробуйте установить его как минимум на 1 – Wolverine

ответ

1

Swift 3.0, IOS 10.

Вы должны заменить:

UNUserNotificationCenter.currentNotificationCenter().requestAuthorizationWithOptions([.Badge, .Sound, .Alert]) { (granted, error) in 

с:

UNUserNotificationCenter.current().requestAuthorization(options: [.alert, .badge, .sound]) { (success, error) in 

Это работал для меня.

С уважением Fabio