проверьте, разрешает ли пользователь приложению использовать свое местоположение

StackOverflow https://stackoverflow.com/questions/1905189

Вопрос

При первой попытке приложения узнать местоположение пользователя ему выдается запрос "Хотел бы использовать ваше текущее местоположение", и он может нажать "Не разрешать" или "ок".Есть ли какой-нибудь способ узнать, нажал ли пользователь кнопку "Ок" или "не разрешать"?Я пытаюсь заставить 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";
    }
}
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top