了解过去是不是在 iOS 上显示过推送通知权限提示

Posted

技术标签:

【中文标题】了解过去是不是在 iOS 上显示过推送通知权限提示【英文标题】:Knowing if push notifications permission prompt on iOS has been shown in the past了解过去是否在 iOS 上显示过推送通知权限提示 【发布时间】:2015-08-02 15:32:16 【问题描述】:

我想围绕我的应用如何向用户请求推送通知权限编写一些新逻辑。

这包括在实际请求权限之前向用户显示一个新屏幕。

另外 - 我想确保更新了他们的应用并已经看到系统提示的老用户不会看到这个新屏幕。

如何检查用户是否已经看到推送通知权限提示?

【问题讨论】:

【参考方案1】:

ios 10 开始,这已经成为可能

 UNUserNotificationCenter.current().getNotificationSettings  (notificationSettings:UNNotificationSettings) in 
if notificationSettings.authorizationStatus != .notDetermined 
    // push notifications permission prompt on iOS has been shown in the past


【讨论】:

【参考方案2】:

使用 iOS SDK,您只能检查是否已启用推送通知。之前的 ios 8

UIRemoteNotificationType types = [[UIApplication sharedApplication] enabledRemoteNotificationTypes];
if (types != UIRemoteNotificationTypeNone) has enabled notifications 

来自 iOS 8

[[UIApplication sharedApplication] isRegisteredForRemoteNotifications]

无法检查推送通知提示是否显示过一次被用户拒绝。

【讨论】:

以上是关于了解过去是不是在 iOS 上显示过推送通知权限提示的主要内容,如果未能解决你的问题,请参考以下文章

检查推送是不是要求通知权限

如何控制何时在 iOS 中提示用户提供推送通知权限

iOS - 未确定推送通知

iOS 和 Android 推送通知是不是可靠

检查用户是不是在代号中接受了 iOS 中的推送通知权限

有啥方法可以在运行时更改 ios 上推送通知的权限?