【发布时间】:2018-07-16 21:10:09
【问题描述】:
可以多次调用 UNUserNotificationCenter.current().requestAuthorization() 吗?
- 我可以在每次应用程序启动时调用吗?
- 用户授予通知权限后能否再次调用?
- 如果没有,为什么不呢?
【问题讨论】:
标签: ios apple-push-notifications unusernotificationcenter unusernotification
可以多次调用 UNUserNotificationCenter.current().requestAuthorization() 吗?
【问题讨论】:
标签: ios apple-push-notifications unusernotificationcenter unusernotification
答案:是和否。
你可以多次调用它ever,但你不能多次调用它并发,否则除了一个并发请求之外的所有请求都会失败一个错误(即granted = false 但error = nil)。如果您的应用逻辑有多个可以触发授权请求的事件,则可能会发生并发请求,而不是在 appDidFinishLaunching 中执行一次的简单快乐路径。
更糟糕的是,并发请求还会触发通知权限即使用户在之前的应用运行期间已经授权它们。这种情况的错误报告将如下所示:“APN 权限正在关闭它们自己。”与所有错误一样,一开始这似乎是不可能的。
【讨论】: