Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 是否可以在应用程序中提供设置,让用户打开或关闭钎焊通知?_Ios_Swift - Fatal编程技术网

Ios 是否可以在应用程序中提供设置,让用户打开或关闭钎焊通知?

Ios 是否可以在应用程序中提供设置,让用户打开或关闭钎焊通知?,ios,swift,Ios,Swift,我正在使用Braze将通知推送到我们的应用程序。是否可以在我的应用程序中添加一个设置来打开或关闭推送通知?如果是,怎么做?您不能在应用程序中添加通知设置。但您可以检查通知权限状态。通过使用此代码 let current = UNUserNotificationCenter.current() current.getNotificationSettings(completionHandler: { (settings) in if settings.authorizationStatus

我正在使用Braze将通知推送到我们的应用程序。是否可以在我的应用程序中添加一个设置来打开或关闭推送通知?如果是,怎么做?

您不能在应用程序中添加通知设置。但您可以检查通知权限状态。通过使用此代码

let current = UNUserNotificationCenter.current()

current.getNotificationSettings(completionHandler: { (settings) in
    if settings.authorizationStatus == .notDetermined {
        // Notification permission has not been asked yet, go for it!
    }

    if settings.authorizationStatus == .denied {
        // Notification permission was previously denied, go to settings & privacy to re-enable
    }

    if settings.authorizationStatus == .authorized {
        // Notification permission was already granted
    }
})
如果身份验证状态被拒绝或未确定,则可以使用任何控件(按钮、开关)将用户重定向到应用程序设置,以在收到通知时使用。使用此代码:

    guard let settingsUrl = URL(string: UIApplicationOpenSettingsURLString) else {
            return
        }

        if UIApplication.shared.canOpenURL(settingsUrl) {
            UIApplication.shared.open(settingsUrl, completionHandler: { (success)
 in
                print("Settings opened: \(success)
") // Prints true
            })
        }

我不想重定向到应用程序设置。如果已启用通知中心中的通知。在应用程序设置中关闭将停止接收通知;如果通知中心中的通知被禁用,则“在应用程序设置中启用”将跳转到通知设置中心。