Как я могу предложить пользователю включить службы определения местоположения, например Перейти в Настройки → Конфиденциальность → Службы определения местоположения

Следующий код больше не работает, так что мы можем сделать

[[UIApplication sharedApplication] openURL:[NSURL URLWithString: @"prefs:root=LOCATION_SERVICES"]];

Выполните следующие действия для Перейдите в Настройки → Ваше приложение → Местоположение, но я хочу получить доступ.

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

У меня проблема такая же, как ниже вопросы

Приложение "Настройки" из другого приложения программно в iPhone

1 ответ

Я использую этот код, если пользователь не включает службы определения местоположения

 - (void)locationManager:(CLLocationManager *)manager
   didFailWithError:(NSError *)error {
     if ([[error domain] isEqualToString: kCLErrorDomain] && [error code] == kCLErrorDenied) {
       // The user denied your app access to location information.

       UIAlertView* alert=[[UIAlertView alloc] initWithTitle:@"This app does not have access to Location" message:@"You can enable access in Settings" delegate:self cancelButtonTitle:@"OK" otherButtonTitles:@"Settings", nil];
       alert.delegate = self;
       [alert show];
     }


    NSLog(@"%@", error.description);
}

и ханле Settings кнопка в UIAlertView в этом коде:

- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
   NSLog(@"buttonIndex:%d",buttonIndex);

   if (buttonIndex == 1) {
       [[UIApplication sharedApplication] openURL:[NSURL URLWithString:UIApplicationOpenSettingsURLString]];
   }
}
Другие вопросы по тегам