Is there a way to have the button of a UIAlertView go to the Settings App for the specific App calling it?
Thanks
Is there a way to have the button of a UIAlertView go to the Settings App for the specific App calling it?
Thanks
In ios5 and above...
[[UIApplication sharedApplication] openURL:[NSURL URLWithString:@"prefs:root=General"]];
Apparently, this does not work in iOS 5.1 whatsoever. I have been fighting it all morning, and then ran across this blog
It works on iOS8+ also,but we need to change something
NSURL*url=[NSURL URLWithString:@"prefs:root=WIFI"];
if([[UIApplication sharedApplication] canOpenURL:url]){
[[UIApplication sharedApplication] openURL:url];
}
Opening settings apps programmatically is possible only from iOS 8. So, use the following code...
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]];
}
}
For example:
And