ios - 如何打开设备设置而不是应用程序特定设置?
问题描述
我一直在使用以下代码将用户带到设备设置页面以打开互联网。
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
}
那么现在我如何调整此代码以导航到 GENERAL 设置?
解决方案
推荐阅读
- php - 如何在我的 api 平台应用程序中使用外部资源
- exception - 重新抛出 RuntimeExceptions
- c# - 是否可以使用 Windows 服务或 Windows 侦听器将消息连接并接收到 IBM MQ
- ruby - 如何将浏览器控制台错误日志存储在报告文件中?
- algorithm - 我需要知道我应该为以下情况选择哪种算法
- python-2.7 - 在 pycrypto 中使用 32 字节的初始化向量
- javascript - Webpack更改css文件中的url
- python - 使用 OCR 从图像中提取某些文本
- gpu - 如何释放 GPU 上的空间?
- vue.js - 如何禁用 VueStrap 日期选择器