如何在 swift 3 中获取通知授权状态?
Posted
技术标签:
【中文标题】如何在 swift 3 中获取通知授权状态?【英文标题】:How to get notification authorization status in swift 3? 【发布时间】:2017-09-27 21:47:20 【问题描述】:如何在 ios 11 中查看 UNUserNotificationCenter 的当前授权状态?我一直在寻找一些代码,但它不在 swift 3 中,并且某些功能在 iOS 10 中已弃用。有人可以帮忙吗?
【问题讨论】:
【参考方案1】:好的,我找到了:
let center = UNUserNotificationCenter.current()
center.getNotificationSettings (settings) in
if(settings.authorizationStatus == .authorized)
print("Push authorized")
else
print("Push not authorized")
代码:Kuba
【讨论】:
【参考方案2】:获取通知授权状态时,实际上可以处于三种状态,即
授权 拒绝 未确定检查这些的直接方法是使用 switch-case,其中 .authorized
、.denied
和 .nonDetermined
是 UNAuthorizationStatus
中的枚举
UNUserNotificationCenter.current().getNotificationSettings (settings) in
print("Checking notification status")
switch settings.authorizationStatus
case .authorized:
print("authorized")
case .denied:
print("denied")
case .notDetermined:
print("notDetermined")
UNAuthorizationStatus
的描述可以在 Apple 的文档https://developer.apple.com/documentation/usernotifications/unauthorizationstatus 中找到
【讨论】:
很高兴听到 :) 虽然在某些情况下区分授权、拒绝和未确定是非常相关的,而不仅仅是授权与否。例如。如果状态未授权,无论是未确定还是他们已经拒绝了请求,再次向用户请求授权都有很大的不同。当然,这取决于用例;)以上是关于如何在 swift 3 中获取通知授权状态?的主要内容,如果未能解决你的问题,请参考以下文章