zoukankan      html  css  js  c++  java
  • swift 和 OC 判断用户是否允许接收推送通知

    #pragma mark --------------- 判断用户是否允许接收通知    oc

    - (BOOL)isUserNotificationEnable {

        BOOL isEnable = NO;

        if ([[UIDevice currentDevice].systemVersion floatValue] >= 8.0f) { // iOS版本 >=8.0 处理逻辑

            UIUserNotificationSettings *setting = [[UIApplication sharedApplication] currentUserNotificationSettings];

            isEnable = (UIUserNotificationTypeNone == setting.types) ? NO : YES;

        } else { // iOS版本 <8.0 处理逻辑

            UIRemoteNotificationType type = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];

            isEnable = (UIRemoteNotificationTypeNone == type) ? NO : YES;

        }

        return isEnable;

    }

    #pragma mark --------------- 判断用户是否允许接收通知  swift

        func checkPushNotification(){

            if #available(iOS 10.0, *) {

                UNUserNotificationCenter.current().getNotificationSettings(){ (setttings) in

                    switch setttings.authorizationStatus{

                    case .authorized:

                        print("enabled notification setting启动")

                    case .denied:

                        print("setting has been disabled禁用")

                    case .notDetermined:

                        print("something vital went wrong here出了问题")

                    case .provisional:

                        print("something vital went wrong here出了问题")

                    @unknown default:

                        print("something vital went wrong here出了问题")

                    }

                }

            } else {

                let isNotificationEnabled = UIApplication.shared.currentUserNotificationSettings?.types.contains(UIUserNotificationType.alert)

                if isNotificationEnabled == true{

                    print("enabled notification setting启动通知设置")

                }else{

                    print("setting has been disabled设置已禁用")

                }

            }

            

        }

  • 相关阅读:
    OCP-1Z0-051-V9.02-118题
    VC++ 获取临时目录
    VC++ UUID/GUID
    MFC无边框的窗体实现用鼠标拖动窗体边缘实现窗体大小变化
    Win32 SDK程序中拖动Thin边框窗口来改变窗口大小
    HTML5 App实战(7):连连看
    MFC对话框Border类型(None、Thin、Resizing、Dialog Frame)对应的部分属性
    项目报错七
    Linux下如何查看高CPU占用率线程
    项目报错六
  • 原文地址:https://www.cnblogs.com/-ios/p/13064251.html
Copyright © 2011-2022 走看看