it-swarm.com.de

Öffnen Sie die Wifi-Einstellungen mit "prefs: root = WIFI" in iOS 10

Ich habe prefs: root = WIFI-URL-Schema in meiner App verwendet, wobei prefs in info.plist eingegeben wurde, um die Anwendung für iOS-Einstellungen direkt in den Wi-Fi-Einstellungen zu öffnen. Auf iOS 9 funktionierte es hervorragend, auf iOS 10 jedoch nicht mehr.

Weiß jemand, ob dies nur eine Regression in der ersten Entwicklervorschau ist oder ob sich die Methode zum Öffnen der WLAN-Einstellungen in iOS 10 geändert hat oder nicht mehr zulässig ist?

17
tbago

Nur so ist es explizit: Apple erlaubt das nicht. Es ist möglich, dass Ihre App es trotzdem schafft, aber dies ist das Gleiche wie bei der Verwendung einer anderen undokumentierten API.

Hier ist die vollständige Liste der unterstützten Apple-URL-Schemata.

Hier ist ein Thread , in dem Apple bestätigt, dass "Apple-URL-Schemas, die nicht offiziell dokumentiert sind, als private API betrachtet werden."

21
Luke

Swift 3.0: - Arbeiten mit iOS 10

@IBAction func openWifiSetting(_ sender: AnyObject) {
    let url = URL(string: "App-Prefs:root=WIFI") //for WIFI setting app
    UIApplication.shared.openURL(url!)
}
13
Siddharth jain

Meine App verwendet auch diese API. Leider deaktiviert Apple dies auf iOS 10. Hier ist meine Lösung: Unter iOS 10 kann es immer noch die Setting App öffnen. Unter iOS 10 wird auf eine Unterseite (Cellular Data Access) von Setting App umgeschaltet. Sie können mit einem Klick zur Einstellungsseite zurückkehren. Ich beschließe, es zu behalten. weil es immer noch bequemer ist als der Benutzer manuell die Einstellungs-App zu öffnen.

NSURL *url = [NSURL URLWithString:@"prefs:root=WIFI"];
if ([[UIApplication sharedApplication] canOpenURL:url]) {
    [[UIApplication sharedApplication] openURL:url];
} else {
    [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
}
6
ronan

versuchen Sie dies für Objective C in 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"]];
}
6
Mohammad Rana

Verwenden von "App-Prefs: root" anstelle von "prefs: root"

2
user7829472

iOS 10, um die Einstellungen Ihrer Apps zu öffnen:

if let settingsURL = URL(string: UIApplicationOpenSettingsURLString) {  
                UIApplication.shared.openURL(settingsURL)
          }
2
userXYZ

Dies funktioniert gut auf iOS 10,

Gehen Sie zu Ziele -> (Anwendung) -> Info -> URL-Typen -> +

In den URL Schemes schreiben 

prefs

Dann ruf an,

- (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"]];
    }
}
1
Shuvo Joseph