我在应用程序中使用了prefs:root = WIFI url方案,在info.plist中输入了偏好设置,可直接在Wi-Fi设置中打开iOS设置应用程序并且它在iOS 9上运行良好,但它在iOS 10上无法工作。通过“prefs:root = WIFI”打开Wifi设置失败iOS 10
有谁知道这是否仅仅是第一次开发人员预览中的回归或开放Wi-Fi设置的方式在iOS 10中发生了变化或者它不再被允许?
我在应用程序中使用了prefs:root = WIFI url方案,在info.plist中输入了偏好设置,可直接在Wi-Fi设置中打开iOS设置应用程序并且它在iOS 9上运行良好,但它在iOS 10上无法工作。通过“prefs:root = WIFI”打开Wifi设置失败iOS 10
有谁知道这是否仅仅是第一次开发人员预览中的回归或开放Wi-Fi设置的方式在iOS 10中发生了变化或者它不再被允许?
我的应用程序也使用该API。不幸的是苹果在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]];
}
SWIFT 3.0: - 在iOS的10及更高版本也正在iOS的7,8,9
@IBAction func openWifiSetting(_ sender: AnyObject) {
let url = URL(string: "App-Prefs:root=WIFI") //for WIFI setting app
UIApplication.shared.openURL(url!)
}
哇!我已经放弃希望,这是可能的后iOS 10.x.你有没有找到任何理由相信这样做会得到App Store拒绝的应用程序? –
iOS11也可以 –
iOS中尝试一下本作Objective C的10
NSURL *url = [NSURL URLWithString:@"prefs:root=WIFI"];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
[[UIApplication sharedApplication] openURL:url];
} else {
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=WIFI"]];
}
只是所以它的明确的:苹果不允许这样做。无论如何,您的应用可能会完成此操作,但这与使用任何其他未公开的API相同。
Here is the full list支持的Apple URL方案。
Here's a thread其中Apple确认“任何未正式记录的Apple URL方案应视为私有API”。
很棒upvoted。做得好 – 2017-02-28 17:03:59
这适用于iOS 10细,
转到目标 - >(应用程序) - >信息 - > URL类型 - > +
在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"]];
}
}
使用 “应用程序,偏好设置:根”,而不是 “首选项:根”
iOS的10,打开你的应用程序设置:
if let settingsURL = URL(string: UIApplicationOpenSettingsURLString) {
UIApplication.shared.openURL(settingsURL)
}
的'首选项:'URL方案是从来没有正式支持。 – rmaddy
但我们的应用程序需要打开wifi设置。你知道其他的API作品吗? – tbago
App-Prefs:root = WIFI适合我 – everettjf