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

            }

        }

        

    }


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM