###前提・実現したいこと
バックグラウンドでローカル通知を受信した際に通知のバッジを+1したいです。
やろうとしていることが全然的外れかもしれないので、その際は正しいやり方を教えて頂けると嬉しいです。
###発生している問題・エラーメッセージ
通知が来てもバッジが増えないです。
###該当のソースコード
Swift
1import UIKit 2import UserNotifications 3 4extension AppDelegate { 5 func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) { 6 // バックグラウンドで来た通知をタップしてアプリ起動したら呼ばれる 7 } 8 9 func userNotificationCenter(center: UNUserNotificationCenter, didReceiveNotificationResponse response: UNNotificationResponse, withCompletionHandler completionHandler: () -> Void) { 10 // バックグラウンドで通知が来たら呼ばれる? 11 UIApplication.shared.applicationIconBadgeNumber += 1 12 print(UIApplication.shared.applicationIconBadgeNumber) 13 } 14 15 func userNotificationCenter(_ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) { 16 // アプリがフォアグラウンドの時に通知が来たら呼ばれる 17 completionHandler([.alert, .badge, .sound]) // 通知バナー表示、通知音の再生を指定 18 } 19}
###試したこと
バックグラウンドで通知を受信した際に呼び出される関数が
Swift
1func userNotificationCenter(center: UNUserNotificationCenter, didReceiveNotificationResponse response: UNNotificationResponse, withCompletionHandler completionHandler: () -> Void)
と、聞いたのでこのように実装してみたのですが、期待通りには動きませんでした。
###補足情報(言語/FW/ツール等のバージョンなど)
Swift 4
iOS11
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。