В первый раз, когда приложение пытается получить пользовательское местоположение, они запрашиваются с, "Хотел бы использовать Ваше текущее местоположение", и они могут совершить нападки, не позволяют или хорошо. Там какой-либо путь состоит в том, чтобы узнать, совершил ли пользователь нападки хорошо или не позволяет? Я пытаюсь сделать, чтобы MKMapView показал пользователям текущее местоположение, но я хотел бы принять различные меры на основе пользовательского выбора.
Обычно Вы думали бы, что будет делегат для получения этой информации, но там, кажется, не.
Заранее спасибо за Вашу справку.
Ваш первый вызов для определения местоположения пользователя завершится ошибкой, в которой сообщается, что пользователь отказался от услуг определения местоположения. Будет вызван ваш метод CLLocationManagerDelegate
didFailWithError
, как показано ниже. (Константы определены в CLError.h
)
- (void)locationManager:(CLLocationManager*)aManager didFailWithError:(NSError*)anError
{
switch([anError code])
{
case kCLErrorLocationUnknown: // location is currently unknown, but CL will keep trying
break;
case kCLErrorDenied: // CL access has been denied (eg, user declined location use)
message = @"Sorry, flook has to know your location in order to work. You'll be able to see some cards but not find them nearby";
break;
case kCLErrorNetwork: // general, network-related error
message = @"Flook can't find you - please check your network connection or that you are not in airplane mode";
}
}