我有两个本地通知,一个基于日期触发,另一个基于时间触发。
当它们被触发时,didReceive
代表将使用UNNotificationDefaultActionIdentifier
标识符进行调用:
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
switch response.actionIdentifier {
case UNNotificationDismissActionIdentifier:
print("Dismiss Action")
case UNNotificationDefaultActionIdentifier:
// this part is called when notification is triggered
......................................
default:
print("Unknown action")
}
completionHandler()
}
此委托中是否有办法区分这两个通知?
我希望根据触发的通知采取不同的操作。
答案 0 :(得分:1)
您的回复是UNNotificationResponse
。它有两个不可变的属性:
actionIdentifier
,String
与您添加到userNotificationCenter的类别相关联notification
这是一个包含UNNotification
的{{1}}
原始请求即它是UNNotificationRequest
。所以切换使用:response.notification.request.identifier
答案 1 :(得分:1)
尝试
response.notification.request.identifier
UNNotificationRequest
具有标识符,如UNNotificationRequest.h
希望这有帮助