我在我的应用中使用了prefs:root = WIFI url方案,在info.plist中输入了prefs,直接打开了Wi-Fi设置中的iOS设置应用程序,它在iOS 9上运行良好,但它不再起作用了iOS 10。
有人知道这只是第一个开发者预览中的回归,还是在iOS 10中打开Wi-Fi设置的方式已经改变,或者不再允许这样做了?
答案 0 :(得分:21)
就这么明确:Apple不允许这样做。您的应用程序可能会通过它,但这与使用任何其他未记录的API相同。
Here is the full list支持的Apple网址计划。
Here's a thread Apple确认“任何未正式记录的Apple URL方案都应被视为私有API。”
答案 1 :(得分:13)
SWIFT 3.0: - 在iOS 10中工作
@IBAction func openWifiSetting(_ sender: AnyObject) {
let url = URL(string: "App-Prefs:root=WIFI") //for WIFI setting app
UIApplication.shared.openURL(url!)
}
答案 2 :(得分:6)
我的应用也在使用该API。不幸的是,Apple在iOS 10上禁用了它。这是我的解决方案:在iOS 10下,它仍然可以打开设置应用程序。在iOS 10上,它将转到设置应用程序的子页面(蜂窝数据访问),您可以通过单击返回设置页面。我决定保留它。因为它比用户手动打开设置应用程序还要方便。
NSURL *url = [NSURL URLWithString:@"prefs:root=WIFI"];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
}
答案 3 :(得分:6)
在iOS 10中尝试使用此目标c
Npgsql.PostgresException : 42883: Function _public.foo(text, text, timestamp without time zone) does not exist
答案 4 :(得分:2)
使用“App-Prefs:root”代替“prefs:root”
答案 5 :(得分:2)
iOS 10,打开您的应用设置:
if let settingsURL = URL(string: UIApplicationOpenSettingsURLString) {
UIApplication.shared.openURL(settingsURL)
}
答案 6 :(得分:1)
这适用于iOS 10,
转到目标 - > (申请) - >信息 - >网址类型 - > +
在URL Schemes
写
首选项
然后致电,
- (void)openWifiSettings
{
if ([[UIApplication sharedApplication] canOpenURL:[NSURL URLWithString:@"prefs:root=WIFI"]]) {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=WIFI"]];
}
}