2014-09-23 5 views
14

So che questa domanda è stata chiedere così tante volte. Le risposte dicono che questo non è disponibile in Xcode> 5.x. ma ho visto alcune app che possono utilizzare questo (Vai a Impostazioni) (iOS7). Ad ogni modo per fare questo? è disponibile in Xcode 6? facebook in grado di rilevare sia i dati cellulari e wifi.Schema URL "Apri Impostazioni" ios

enter image description hereenter image description here

+2

Questi sono i messaggi di sistema, non messaggi app. A partire da iOS 8 puoi solo avviare la pagina delle impostazioni della tua app. – rmaddy

+0

C'è un modo per mostrare i messaggi di sistema? E in iOS8, posso accendere i dati wifi/cellulari del dispositivo? – MaappeaL

risposta

64

Come di iOS 8, è possibile lanciare l'applicazione Impostazioni che si apre direttamente la vostra sezione dell'app Privacy in questo modo:

[[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

Qualcuno sa come aprire solo l'app Impostazioni non le impostazioni individuali? Facebook lo fa. – Pei

+7

@Pei Specificare l'ID del bundle dell'app nello schema URL: '[[UIApplication sharedApplication] openURL: [NSURL URLWithString: [NSString stringWithFormat: @"% @ BundleID ", UIApplicationOpenSettingsURLString]]];' –

+0

Questo è per il codice rapido solo in caso si desideri: guardia lasciare bundleIdentifier: String = NSBundle.mainBundle() bundleIdentifier else {} ritorno se lasciare url = NSURL. (stringa: UIApplicationOpenSettingsURLString + bundleIdentifier) ​​{. UIApplication.sharedApplication() openURL (url) } – ryutamaki

2

avvisi sul schermate sono avvisi di sistema. Il primo si verifica quando l'app vuole utilizzare Internet e dispone di dati cellulari bloccati per l'applicazione (e la connessione Wifi non è collegata). Il secondo si verifica quando un'applicazione desidera utilizzare i servizi di localizzazione e hai disattivato la rete Wi-Fi. Non è possibile controllare la visualizzazione di questo avviso s.

In iOS 8 (Xcode 6) è la possibilità di aprire le impostazioni direttamente dall'applicazione. Si prega di leggere questo argomenti: How to open Settings programmatically like in Facebook app?

Opening the Settings app from another app

+0

come posso mostrare il primo? come, se ho provato ad aprire l'url dalla mia webview, significa che ho bisogno di usare internet, l'avviso verrà visualizzato? puoi darmi un esempio? – MaappeaL

+0

Chiudi la tua app. Spegni la connessione wifi. Vai a Impostazioni-> Cellulare -> nella sezione "Usa dati cellulari per:" trova la tua app e disabilitala. Apri la tua app –

+0

se si scarica un'app da Apple Store e l'app è necessaria per l'utilizzo di Internet, viene automaticamente aggiunta all'elenco di app che utilizza dati cellulari? La mia app non è presente nell'elenco, è normale perché è solo un test? – MaappeaL

8

1.- Aggiungi tipi di URL enter image description here

2.- Uso:

Obiettivo - C

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

Swift

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

3.- percorso Altro in questa risposta ritrovamento: iOS Launching Settings -> Restrictions URL Scheme

+0

Funziona davvero. –

+3

Interrotto in iOS 10. Eventuali soluzioni alternative? – shim

+0

spezzato in iOS 10, avete trovato qualche soluzione per lo stesso – iAviatorJose

0

Questo non è più possibile in iOS 11, possiamo Impostazioni appena aperti come:

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