Je sais qu'une application peut lancer d'autres applications en utilisant ce code : [[UIApplication sharedApplication] openURL:appUrl];
. Et je connais le schéma de l'URL pour ouvrir safari et mail, mais j'ai fait quelques recherches et je n'ai rien trouvé sur le schéma de settings.app.
Réponses
Trop de publicités?Vous pouvez ouvrir les applications de paramétrage de manière programmatique en essayant ceci (fonctionne seulement à partir de iOS8 et plus).
Si vous utilisez Swift :
UIApplication.sharedApplication().openURL(NSURL(string: UIApplicationOpenSettingsURLString))
Si vous utilisez Objective-C
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
Pour les autres versions inférieures (moins de iOS8 ) il n'est pas possible d'ouvrir l'application Paramètres de manière programmée.
L'ouverture programmée des applications de paramètres n'est possible qu'à partir d'iOS 8. Ainsi, utilisez le code suivant de 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]];
}
}