ios - Swift ios 检查用户是否启用了通知总是返回 true

标签 ios swift onesignal

<分区>

我正在尝试检查用户是否为我的应用启用了远程通知,但即使我禁用/卸载了我的应用,它也始终返回 true。

我正在检查这段代码:

if UIApplication.shared.isRegisteredForRemoteNotifications == false {
    OneSignal.registerForPushNotifications()
    print("Notifications is off")
} else {
   print("Notifications is on")
}

但这将始终运行:print("Notifications is on")

那么如何检查用户是否为我的应用启用了通知?

最佳答案

    if let settings = UIApplication.shared.currentUserNotificationSettings {
         if settings.types != UIUserNotificationType() {
             print("is on!")
         }else{
             print("is off!")
         }
}else{
     print("is off")
}

这似乎有效,不确定它是否正确?

关于ios - Swift ios 检查用户是否启用了通知总是返回 true,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40538878/

相关文章:

ios - 使用 SpriteKit 开发着色器

ios - YouTube API v3 错误 : 403 but the API key is configured and Bundle identifier is correct

ios - 如何在 XCUI 测试自动化框架中组织和分组测试用例

xcode - iPad 不会运行在 Xcode 中构建的应用程序 & 它在构建后立即完成

facebook - OneSignal SDK & Facebook SDK & Unity3D

ios - iPad - 从前置摄像头拍照并识别驾照

swift - NSPopUpButton 子类 attributedTitle

swift - 如何确定 UILabel (Swift) 中使用的行数?

javascript - 如何将单个 html 表单发送到 OneSignal 服务器和另一个服务器

ionic-framework - Ionic - Onesignal - 在handleNotificationReceived上不更新 View