ios - Swift ios 检查是否在 ios9 和 ios10 中启用了远程推送通知

标签 ios swift xcode push-notification

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

如果用户不允许或单击“否”,我想切换一条消息,询问他们是否要启用通知。

最佳答案

Apple 建议使用 UserNotifications 框架而不是共享实例。所以,不要忘记导入 UserNotifications 框架。由于此框架是 iOS 10 中的新框架,因此只有在为 iOS10+ 构建的应用程序中使用此代码才是安全的

let current = UNUserNotificationCenter.current()

current.getNotificationSettings(completionHandler: { (settings) in
    if settings.authorizationStatus == .notDetermined {
        // Notification permission has not been asked yet, go for it!
    } else if settings.authorizationStatus == .denied {
        // Notification permission was previously denied, go to settings & privacy to re-enable
    } else if settings.authorizationStatus == .authorized {
        // Notification permission was already granted
    }
})

您可以查看官方文档以获取更多信息:https://developer.apple.com/documentation/usernotifications

关于ios - Swift ios 检查是否在 ios9 和 ios10 中启用了远程推送通知,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40531103/

相关文章:

ios - UIAccessibilityContainer 动态更新协议(protocol)方法

ios - ReactNative 与现有应用程序集成而不是 RCT_EXPORT_METHOD 宏

ios - 使用GVRSDK创建IOSurface图像(纹理)失败

ios - 非常奇怪的 Xcode 项目错误?

ios - 使用 Swift 3 更新 Firebase 中的现有对象

ios - 带有普通列表的 UITableView,但使部分标题像分组列表

swift - 在 firebase 和 firebasecore 之间启动应用程序时不兼容

ios - 如果用户取消了 InApp 购买或只是另一个失败状态,如何处理

ios - UIViewControllerAnimatedTransitioning 无法正常工作

ios - 能否在运行时以编程方式确定用于构建二进制文件的 iOS SDK 版本?