Исходное предупреждение, которое подскажет вам получить услугу определения местоположения для приложения, запускается ОС, а не приложением. Это будет активировано, так как вы включили бы настройки местоположения в своем приложении.
Но если пользователь отрицает это в первый раз, в соответствии с ОС пользователь предпочитает отклонять службу определения местоположения для этого конкретного приложения, и это конфиденциальность пользователей. Поскольку Apple очень обеспокоена настройками конфиденциальности пользователя, чтобы пользователь мог снова принять эти настройки, они должны явно включить его снова из приложения настроек, и его невозможно достичь с уровня приложения. Поскольку он не имеет ничего общего с приложением и его основанной на ОС ОС, и как разработчик мы не можем его переопределить.
Вместо этого мы можем определить текущую настройку конфиденциальности для местоположения пользователей, а если статус не имеет доступа, вы можете указать пользователю предупреждение, по которому пользователь может напрямую изменить настройки после перехода к настройкам.
if([CLLocationManager locationServicesEnabled]){
if([CLLocationManager authorizationStatus]==kCLAuthorizationStatusDenied){
UIAlertView *alert = [[UIAlertView alloc] initWithTitle:ICLocalizedString(@"LocationServicesPermissionTitle")
message:ICLocalizedString(@"LocationPermissionGeoFenceMessage")
delegate:self
cancelButtonTitle:@"Settings"
otherButtonTitles:nil];
[alert show];
}
}
UIAlertView делегат:
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
[alertView dismissWithClickedButtonIndex:buttonIndex animated:YES];
[[UIApplication sharedApplication] openURL: [NSURL URLWithString: UIApplicationOpenSettingsURLString]];
}
Да, вы можете сделать, это только если отключено в вашем предпочтении приложения не использовать местоположение или фоновый код Обновить который может быть Инициирования своих услуг. Но в случае фонового обновления, если он не отключен через «Настройки», он попытается позвонить. – iphonic
Привет, Нупур, был ли мой ответ полезным? –