2014-09-23 31 views
14

Ich weiß, dass diese Frage so oft gestellt wurde. Die Antworten sagen, dass dies in Xcode> 5.x nicht verfügbar ist. aber ich habe einige Apps gesehen, die dies nutzen können (Gehe zu Einstellungen) (iOS7). Wie auch immer, das zu tun? ist es in Xcode 6 verfügbar? facebook kann sowohl mobile Daten und WLAN erkennen.URL-Schema "Einstellungen öffnen" ios

enter image description hereenter image description here

+2

sind solche Systemmeldungen, nicht app-Nachrichten. Ab iOS 8 können Sie nur die eigene Einstellungsseite Ihrer App starten. – rmaddy

+0

Gibt es eine Möglichkeit, damit ich diese Systemmeldungen anzeigen kann? Und kann ich in iOS8 die WLAN-/Mobilfunkdaten des Geräts einschalten? – MaappeaL

Antwort

64

Ab iOS 8, dann ist es möglich, die Einstellungen App zu starten, die direkt Ihre Privatsphäre App-Bereich auf diese Weise öffnet sich:

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; 

In Swift:

if let settingsURL = NSURL(string: UIApplicationOpenSettingsURLString) { 
    UIApplication.sharedApplication().openURL(settingsURL) 
} 

In Swift 3.0:

if let settingsURL = URL(string: UIApplicationOpenSettingsURLString + Bundle.main.bundleIdentifier!) { 
    UIApplication.shared.openURL(settingsURL as URL) 
} 
+4

Kann jemand nur Einstellungen app nicht individuelle Einstellungen öffnen? Facebook macht es. – Pei

+7

@Pei Geben Sie die Bundle-ID Ihrer App im URL-Schema an: '[[UIApplication sharedApplication] openURL: [NSURL URLWithString: [NSString stringWithFormat: @"% @ BundleID ", UIApplicationOpenSettingsURLString]]];' –

+0

Dies ist nur für schnellen Code falls Sie wollen: Wache lassen bundleIdentifier: String = NSBundle.mainBundle() bundleIdentifier else {return} wenn wir url = NSURL. (string: UIApplicationOpenSettingsURLString + bundleIdentifier) ​​{. UIApplication.sharedApplication() openURL (url) } – ryutamaki

2

Alerts auf Ihrem Screenshots sind Systemwarnungen. Der erste auftritt, wenn App das Internet verwenden möchte und eine blockierte Mobilfunkdaten für die Anwendung (und Wifi ist nicht verbunden). Die zweite tritt auf, wenn eine Anwendung die Standortdienste verwenden möchte und Sie WLAN deaktiviert haben. Es ist nicht möglich, die Anzeige dieser Warnung zu steuern s.

In iOS 8 (Xcode 6) ist die Möglichkeit, die Einstellungen direkt von der Anwendung zu öffnen. Bitte lesen Sie diese Themen: How to open Settings programmatically like in Facebook app?

Opening the Settings app from another app

+0

Wie kann ich das erste zeigen? wie, wenn ich versuchte, URL von meinem Webview zu öffnen, bedeutet es, dass ich das Internet benutzen muss, wird die Warnung zeigen? Kannst du mir ein Beispiel geben ? – MaappeaL

+0

Schließen Sie Ihre App. WLAN ausschalten Gehen Sie zu Einstellungen-> Mobilfunk -> im Abschnitt "Mobilfunkdaten verwenden für:" Suchen Sie Ihre App und deaktivieren Sie sie. Öffne deine App. –

+0

Wenn Sie eine App aus dem Apple Store herunterladen und die App das Internet verwenden muss, wird sie automatisch zur Liste der Apps hinzugefügt, die mobile Daten verwenden? Meine App ist nicht auf der Liste, ist es normal, weil es nur ein Test ist? – MaappeaL

8

1.- hinzufügen URL-Typen enter image description here

2.- Verwendung:

Objective - C

[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General"]]; 

Swift

UIApplication.sharedApplication().openURL(NSURL(string: "prefs:root=General")!) 

3.- Andere Fund Pfad in dieser Antwort: iOS Launching Settings -> Restrictions URL Scheme

+0

Es funktioniert wirklich. –

+3

In iOS 10 eingebrochen. Problemumgehungen? – shim

+0

Yup in iOS 10 gebrochen, haben Sie keine Lösung für die gleiche gefunden – iAviatorJose

0

Diese mehr in iOS nicht möglich ist 11, wir können nur öffnen Sie Einstellungen wie:

if let url = URL(string:UIApplicationOpenSettingsURLString) { 
    if UIApplication.shared.canOpenURL(url) { 
    let url = UIApplication.shared.open(url, options: [:], completionHandler: nil) 
    } 
} 
Verwandte Themen