可以多次调用UNUserNotificationCenter.current()。requestAuthorization()吗?
答案 0 :(得分:2)
答案:是和否。
您可以多次调用 ,但是您不能多次调用并发,否则除了其中一个并发请求之外的所有请求都会失败错误(即granted = false
但error = nil
)。如果您的应用程序逻辑有多个可以触发授权请求的事件,则会发生并发请求,而不是在appDidFinishLaunching内部执行此操作时的简单快乐路径。
更糟糕的是,即使用户在之前的应用运行期间已经授权,并发请求也会触发关闭的通知权限。这种情况的错误报告将如下所示:“APN权限正在关闭。”像所有的错误一样,一开始似乎是不可能的。