Откройте настройки Wifi с помощью команды "prefs: root = WIFI" в iOS 10
Я использовал prefs: root = WIFI url-схема в своем приложении с prefs, введенными в info.plist, чтобы открыть приложение iOS в настройках Wi-Fi, и оно отлично работает на iOS 9, но оно больше не работает iOS 10.
Кто-нибудь знает, является ли это только регрессией в первом предварительном просмотре, или способ открыть настройки Wi-Fi изменился в iOS 10 или он больше не разрешен?
Ответы
Ответ 1
Просто так явное: Apple этого не допускает. Возможно, ваше приложение все равно пройдет, но это то же самое, что и с любым другим недокументированным API.
Ниже приведен полный список поддерживаемых схем URL-адресов Apple.
Вот нить, где Apple подтверждает, что "любые схемы URL-адресов Apple, которые официально не документированы, следует рассматривать как частный API".
Ответ 2
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!)
}
Ответ 3
попробуйте это для объектного c в iOS 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"]];
}
Ответ 4
Мое приложение также использует этот 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]];
}
Ответ 5
Использование "App-Prefs: root" вместо "prefs: root"
Ответ 6
Это отлично работает на 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"]];
}
}
Ответ 7
iOS 10, чтобы открыть настройки ваших приложений:
if let settingsURL = URL(string: UIApplicationOpenSettingsURLString) {
UIApplication.shared.openURL(settingsURL)
}