确定用户是否在iOS 7中允许本地通知

时间:2017-07-20 18:11:20

标签: ios swift optimization notifications uilocalnotification

我试图确定用户是否允许本地通知。以下方法可以很好地返回用户在iOS 8及更高版本中允许的通知设置。

问题:

我必须添加哪些代码才能检查用户是否在iOS 7中允许本地通知?在iOS 7中检查的后备方法是什么?

(是的,我确实关心仍在iOS 7上的客户。)

代码:

    if #available(iOS 8.0, *) {
        if let settings = UIApplication.sharedApplication().currentUserNotificationSettings() {
            if settings.types.contains(.None) {
                print("None")
            }
            if settings.types.contains(.Badge) {
                print("Badge")
            }
            if settings.types.contains(.Sound) {
                print("Sound")
            }
            if settings.types.contains(.Alert) {
                print("Alert")
            }
        }
    } else {
        // Fallback for iOS 7
    }

1 个答案:

答案 0 :(得分:1)

尝试:

var notifyTypes: UIRemoteNotificationType = UIApplication.sharedApplication().enabledRemoteNotificationTypes()

然后您可以简单地检查notifyTypes的值。

以下是文档的链接:https://developer.apple.com/documentation/uikit/uiapplication/1623075-enabledremotenotificationtypes