iOS-App内部跳转到推送开关页面

2018/10/9 posted in  iOS

今天碰到一个需求,是需要使用在app内部点击按钮,直接跳转到推送的开关页面。实际代码如下方所示

 guard let bundleId = Bundle.main.bundleIdentifier else {
        return
    }
    let url1 = URL.init(string: "App-Prefs:root=\(bundleId)")!
    let url2 = URL.init(string: UIApplicationOpenSettingsURLString)!
    
    if #available(iOS 11.0, *) {
        
        if UIApplication.shared.canOpenURL(url2){
            UIApplication.shared.open(url2, options: [:], completionHandler: nil)
        }
    }else {
        if #available(iOS 10.0, *){
            UIApplication.shared.open(url1, options: [:], completionHandler: nil)
        }else {
            UIApplication.shared.openURL(url1)
        }
    }