é possível abrir o aplicativo Configurações usando openURL?

Eu sei que um aplicativo pode iniciar outros aplicativos usando este código: [[UIApplication sharedApplication] openURL:appUrl]; . E eu conheço o esquema de URL para abrir safari e mail, mas fiz algumas pesquisas e não encontrei nada sobre o esquema de settings.app.

Você pode abrir aplicativos de configurações programaticamente tentar isso (funciona apenas a partir do iOS8 em diante).

Se você estiver usando o Swift:

  UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString)) 

Se você estiver usando o Objective-C

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

Para outras versões inferiores (menos de iOS8 ) não é possível abrir programaticamente o aplicativo de configurações.

Você pode usar isso nas versões do iOS 5.0 – 5.0.1. Em seguida, foi suspenso no iOS 5.1.

 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs://"]]; 

É possível abrir aplicativos de configurações programaticamente apenas no iOS 8. Portanto, use o seguinte código em http://code-ios.blogspot.in/2014/10/opening-settings-app-from-another-app.html

 if([CLLocationManager locationServicesEnabled]&& [CLLocationManager authorizationStatus] != kCLAuthorizationStatusDenied) { //...Location service is enabled } else { if([[[UIDevice currentDevice] systemVersion] floatValue]<8.0) { UIAlertView* curr1=[[UIAlertView alloc] initWithTitle:@"This app does not have access to Location service" message:@"You can enable access in Settings->Privacy->Location->Location Services" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil, nil]; [curr1 show]; } else { UIAlertView* curr2=[[UIAlertView alloc] initWithTitle:@"This app does not have access to Location service" message:@"You can enable access in Settings->Privacy->Location->Location Services" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:@"Settings", nil]; curr2.tag=121; [curr2 show]; } } - (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex { NSLog(@"buttonIndex:%d",buttonIndex); if (alertView.tag == 121 && buttonIndex == 1) { //code for opening settings app in iOS 8 [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]]; } } 

Versão Swift 4 :

 if let url = URL(string: UIApplicationOpenSettingsURLString) { UIApplication.shared.openURL(url) }