是否可以多次调用UNUserNotificationCenter.current()。requestAuthorization()?

时间:2018-02-06 18:01:28

标签: ios apple-push-notifications unusernotificationcenter unusernotification

可以多次调用UNUserNotificationCenter.current()。requestAuthorization()吗?

  • 我可以在每次启动应用程序时调用吗?
  • 我可以在用户授予通知权限后再次调用它吗?
  • 如果没有,为什么不呢?

1 个答案:

答案 0 :(得分:2)

答案:是和否。

  • 您可以多次调用 ,但是您不能多次调用并发,否则除了其中一个并发请求之外的所有请求都会失败错误(即granted = falseerror = nil)。如果您的应用程序逻辑有多个可以触发授权请求的事件,则会发生并发请求,而不是在appDidFinishLaunching内部执行此操作时的简单快乐路径。

  • 更糟糕的是,即使用户在之前的应用运行期间已经授权,并发请求也会触发关闭的通知权限。这种情况的错误报告将如下所示:“APN权限正在关闭。”像所有的错误一样,一开始似乎是不可能的。