从后台返回时,NotificationCenter requestAuthorization 警报无法显示

时间:2021-03-10 16:13:02

标签: swift push-notification nsnotificationcenter

我正在请求用户授权以发送通知,执行此操作时,警报会按预期弹出,并带有默认通知消息和 Don't allow / Allow 按钮。

但是,如果我在没有进行选择的情况下将应用设为后台,然后再次重新打开应用,我将无法再次显示提醒。

我可以再次强制调用 requestAuthorization,并且我在完成块中正确地看到授权请求是错误的(因为没有事先进行选择)。

let options: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(options: options) { (granted, error) in
     // granted = false
}

但是为什么不会再次显示警报?

对此的任何澄清将不胜感激。

顺便说一句,我注意到在请求用户位置时,我什至无法最小化应用程序,直到做出选择!

1 个答案:

答案 0 :(得分:0)

显然是这样设计的。

发送应用到后台时,授权自动设置为false。

<块引用>

您的应用首次发出此授权请求时,系统 提示用户授予或拒绝请求并记录用户的 回复。后续的授权请求不会提示用户。

来源:https://developer.apple.com/documentation/usernotifications/asking_permission_to_use_notifications

相关问题