我正在请求用户授权以发送通知,执行此操作时,警报会按预期弹出,并带有默认通知消息和 Don't allow
/ Allow
按钮。
但是,如果我在没有进行选择的情况下将应用设为后台,然后再次重新打开应用,我将无法再次显示提醒。
我可以再次强制调用 requestAuthorization,并且我在完成块中正确地看到授权请求是错误的(因为没有事先进行选择)。
let options: UNAuthorizationOptions = [.alert, .badge, .sound]
UNUserNotificationCenter.current().requestAuthorization(options: options) { (granted, error) in
// granted = false
}
但是为什么不会再次显示警报?
对此的任何澄清将不胜感激。
顺便说一句,我注意到在请求用户位置时,我什至无法最小化应用程序,直到做出选择!
答案 0 :(得分:0)
显然是这样设计的。
发送应用到后台时,授权自动设置为false。
<块引用>您的应用首次发出此授权请求时,系统 提示用户授予或拒绝请求并记录用户的 回复。后续的授权请求不会提示用户。
来源:https://developer.apple.com/documentation/usernotifications/asking_permission_to_use_notifications