如何打开设备设置而不是应用程序特定设置?

时间:2018-06-27 14:27:52

标签: ios iphone swift url settings

我一直在使用以下代码将用户带到“设备设置”页面以打开Internet。

guard let settingsUrl = URL(string: "App-Prefs:root=Settings")
            else {
            return
        }

        if UIApplication.shared.canOpenURL(settingsUrl)
        {
            if #available(iOS 10.0, *)
            {
                UIApplication.shared.open(settingsUrl, completionHandler: { (success) in
                    print("Back to app From Settings: \(success)") // Prints true
                })
            } else {
                // Fallback on earlier versions
                UIApplication.shared.openURL(settingsUrl)
            }
        }

但是苹果公​​司拒绝了我的更新,因为使用了以下说明原因的代码,

  

您的应用程序使用“ prefs:root =“非公开URL方案,这是一个私有实体。在App Store上不允许使用非公共API,因为如果这些API发生更改,可能会导致不良的用户体验。

     

在以后提交此应用程序时继续使用或隐藏非公共API可能会导致您的Apple Developer帐户终止,并从App Store中删除所有关联的应用程序。

     

后续步骤   要解决此问题,请修改您的应用程序以使用公共API提供相关功能,或使用“ prefs:root”或“ App-Prefs:root” URL方案删除该功能。

因此,我现在使用以下代码来避免这种拒绝。但是此代码将我带到“ APP SPECIFIC SETTINGS”页面,而不是常规设置。

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

那么,现在如何调整此代码以导航到“常规”设置?

0 个答案:

没有答案