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设置已禁用")

                }

            }

            

        }

  • 相关阅读:
    Pycharm如何自动换行
    Android逆向基础
    动态调试ELF文件Crackme
    用Hash 算法给payload瘦身
    010 editor手写pe文件
    win脱壳_压缩壳_aspack
    WannaCrypt0r分析报告
    JVM内存分区
    java设计模式(模板方法模式)
    es6
  • 原文地址:https://www.cnblogs.com/-ios/p/13064251.html
Copyright © 2011-2022 走看看