我正在开发一个处理推送通知的应用程序。
由于某些原因,
func userNotificationCenter(_ center: UNUserNotificationCenter, didReceive response: UNNotificationResponse, withCompletionHandler completionHandler: @escaping () -> Void) {
按预期工作,但是
func userNotificationCenter( _ center: UNUserNotificationCenter, willPresent notification: UNNotification, withCompletionHandler completionHandler: @escaping (UNNotificationPresentationOptions) -> Void) {
永远不会被调用。
有人遇到过这种情况吗?
所有常见的嫌疑人都到位:
UNUserNotificationCenter.current().delegate = self
安顿好了didFinishLaunchingWithOptions
let center = UNUserNotificationCenter.current()
UNUserNotificationCenter.current().delegate = self
let options: UNAuthorizationOptions = [.alert, .badge, .sound]
center.requestAuthorization(options:options) { (granted, error) in
if error == nil{
DispatchQueue.main.async() {
UIApplication.shared.registerForRemoteNotifications()
completion(granted)
}
}
}
正在返回 true(已授予权限)
其他值得一提的项目:
推送通知通过 SendBird 发送
当应用程序在后台时,一切都按预期工作。