programar - Llame a la aplicación oficial*Configuración*desde mi aplicación en iPhone
personalizar centro de control ios 10 (9)
En un momento dado de mi aplicación, me gustaría redirigir al usuario a la aplicación de configuración oficial. Si es posible, también quiero ir directamente a la sección de Red dentro de la aplicación Configuración .
Creo que lo que necesito es el esquema de url de la aplicación de Configuración y el formato para construir mi solicitud. Pero dudo que esté prohibido llamar a una aplicación oficial.
¿Alguien puede ayudarme?
Como se señala en los comentarios a continuación, esto ya no es posible en la versión 5.1 de iOS y posteriores.
Si está en iOS 5.0, se aplica lo siguiente:
Esto ahora es posible en iOS 5 usando el esquema de URL ''prefs:''. Funciona desde una página web o desde una aplicación.
urls de ejemplo:
prefs:root=General
prefs:root=General&path=Network
uso de la muestra:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General"]]
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General&path=Network"]]
Desde IOS 8 puedes llamar a la configuración desde la aplicación con esto:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
Es posible llamar a la aplicación de configuración desde otra aplicación solo desde iOS 8. Por lo tanto, use el siguiente código
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
{
if (alertView.tag == 121 && buttonIndex == 1)
{
//code for opening settings app in iOS 8
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
}
}
Malas noticias: como sugirieron @Hlung y @jasongregori, para los iDevices cuya versión de SO > = iOS 5.1 && <iOS 8.0 , una vez más NO hay forma oficial / documentada de llamar a la aplicación de configuración incorporada desde una aplicación de terceros. Período.
Para iOS 10 puedes usar:
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"App-Prefs:root=Settings"]];
¡También está trabajando en iOS 9!
Para los ajustes en iOS 9 esto me funciona.
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=Settings"]];
Pero asegúrese de agregar esquemas de URL en los tipos de URL en
Ficha de información en los objetivos de la aplicación.
Solo una respuesta adicional para agregar al direccionamiento de iOS8 +. Si está soportando algo por debajo de 8, debe verificar si está soportado
BOOL canGoToSettings = (UIApplicationOpenSettingsURLString != NULL);
if (canGoToSettings)
{
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
}
También funciona en la versión iOS> 5.1, pero debe agregar esquemas de URL en los tipos de URL en Xcode:
Entonces puedes usar
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=WIFI"]];
Se puede abrir la configuración del sistema WiFi ahora.
Encontrará otra ruta en esta respuesta: Configuración de inicio de iOS -> Restricciones URL Esquema .
desde iOS 8, puedes redireccionar con
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
disfrutar de la codificación