本文介绍了Swift ios 检查是否在 ios9 和 ios10 中启用了远程推送通知的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

如何检查用户是否在 ios 9 或 ios 10 上启用了远程通知?

How can I check if the user has enabled remote notifications on ios 9 or ios 10?

如果用户没有允许或点击否,我想切换一条消息,询问他们是否要启用通知.

If the user has not allowed or clicked No I want to toggle a message asking if they want to enable notifications.

推荐答案

iOS 10 使用 UNUserNotificationCenter 后更新的答案.

Updated answer after iOS 10 is using UNUserNotificationCenter .

首先你需要import UserNotifications 然后

let current = UNUserNotificationCenter.current()
        current.getNotificationSettings(completionHandler: { permission in
            switch permission.authorizationStatus  {
            case .authorized:
                print("User granted permission for notification")
            case .denied:
                print("User denied notification permission")
            case .notDetermined:
                print("Notification permission haven't been asked yet")
            case .provisional:
                // @available(iOS 12.0, *)
                print("The application is authorized to post non-interruptive user notifications.")
            case .ephemeral:
                // @available(iOS 14.0, *)
                print("The application is temporarily authorized to post notifications. Only available to app clips.")
            @unknown default:
                print("Unknow Status")
            }
        })


这段代码会一直工作到 iOS 9,对于 iOS 10,请使用上面的代码片段.


this code will work till iOS 9, for iOS 10 use the above code snippet.

let isRegisteredForRemoteNotifications = UIApplication.shared.isRegisteredForRemoteNotifications
if isRegisteredForRemoteNotifications {
     // User is registered for notification
} else {
     // Show alert user is not registered for notification
}

这篇关于Swift ios 检查是否在 ios9 和 ios10 中启用了远程推送通知的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-19 19:04