2

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

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

1 回答 1

4

回答:是和不是。

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

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

于 2018-02-06T18:01:28.137 回答