проверьте, позволяет ли пользователь приложению использовать свое местоположение - PullRequest
7 голосов
/ 15 декабря 2009

В первый раз, когда приложение пытается узнать местоположение пользователей, они получают запрос «Хотите использовать ваше текущее местоположение», и они могут нажать «Не разрешать» или «ОК». Есть ли способ узнать, ударил ли пользователь нормально или нет? Я пытаюсь, чтобы MKMapView показывал текущее местоположение пользователей, но я хотел бы предпринять различные действия в зависимости от выбора пользователей.

Обычно вы думаете, что есть делегат, который получит эту информацию, но, похоже, его нет.

Заранее спасибо за помощь.

1 Ответ

16 голосов
/ 17 декабря 2009

Ваш первый вызов для определения местоположения пользователя не удастся с ошибкой, которая говорит вам, что пользователь отказался от услуг определения местоположения. Ваш 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";
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...