我的问题已被问了很多时间,直到现在还没有解决方案。 我正在尝试从应用程序打开移动数据页面。
1)我试过
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]
在iOS 8 and iOS 9
,而不是root page
,它直接转到Settings/AppName
页面。这不是我想要的行为。我想要的是进入设置根页
2)对于iOS 10
,上述方法不起作用。我试过了
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString] options:@{} completionHandler:nil]
但它不起作用。
是否有任何代码可以满足上述两个要求。在iOS
8,9和10中,它将转到设置根页面(如果可能,移动数据页面)。如果没有办法,可以提供链接为什么它不起作用。
更新
在ios 8和9中,通过使用[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@“prefs:root = GENERAL”]]我可以重定向到设置主页。对于ios 10.1.0及更低版本,使用[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@“prefs:root = MOBILE_DATA”]]将重定向到“设置”中的应用程序特定页面。但在最新的10.1.1中,它不会做任何事情。
我正在使用Xcode 8.0。
答案 0 :(得分:1)
在iOS 10中,他们将“prefs:”更改为“App-Prefs:”
guard let profileUrl = URL(string: "App-
Prefs:root=General") else {
return
}
if UIApplication.shared.canOpenURL(profileUrl) {
UIApplication.shared.open(profileUrl, completionHandler: { (success) in
print(" Profile Settings opened: \(success)")
})
}
答案 1 :(得分:0)
UIApplication.sharedApplication().openURL(NSURL(string: "prefs:root=General")!)