Location manager не обновляет местоположение на ipad, но работает на iphone

ранее Следующий код работал правильно как на iPad, так и на iPhone. но через некоторое время тот же код не работает в iPad. Проблема в том, что iPad всегда показывает одно и то же местоположение (широту, долготу), если я не нахожусь в этом месте.

-(void) getLocation
{
    locationManager = [[CLLocationManager alloc] init];
    locationManager.delegate = self;
    locationManager.desiredAccuracy = kCLLocationAccuracyBest;
    locationManager.distanceFilter = kCLDistanceFilterNone;
    if ([CommonFunction checkForLocationService])
    {
        [locationManager startUpdatingLocation];
        [locationManager requestWhenInUseAuthorization];
        strLatitude = [NSString stringWithFormat:@"%f",locationManager.location.coordinate.latitude];
        strLongitude = [NSString stringWithFormat:@"%f",locationManager.location.coordinate.longitude];
    }
}

Я уже добавил ключ конфиденциальности местоположения в файл info.plist.

Просто предположите, пожалуйста, проверьте, добавили ли вы статически широту и долготу. в коде ... вероятно, для целей тестирования

Prashant 11.04.2018 14:03

нет, я не добавлял статику.

Mansi Dobariya 11.04.2018 14:05

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

Prashant 11.04.2018 14:38

да все проверил

Mansi Dobariya 12.04.2018 06:06

Прошу прощения за задержку с ответом, но если вы еще не нашли решения, вы можете взглянуть на: appcoda.com/how-to-get-current-location-iphone-user

Prashant 17.04.2018 14:57

Вот еще одна полезная ссылка: devfright.com/location-authorization-ios-8 Скачать пример кода: devfright.com/wp-content/uploads/2014/10/LocationAuth.zip

Prashant 17.04.2018 15:32
0
6
164
1

Ответы 1

Первый:

Ваш код неверен. Никогда не спрашивайте у менеджера по местонахождению его местонахождение. Реализуйте метод делегата и получайте оттуда обновления местоположения. Вам нужно только сказать менеджеру местоположения, чтобы начать обновление местоположения ОДИН РАЗ. Метод делегата будет вызываться повторно.

Второй:

Определение местоположения - это не волшебство. Он использует внутреннее оборудование устройства. У вашего iPhone и iPad очень разное внутреннее оборудование.

Ваш iPhone - это телефон. Он может использовать вышки сотовой связи и GPS для определения своего местоположения. Таким образом, он почти всегда знает, где он находится.

На вашем iPad нет такого оборудования. Это не телефон и в нем нет GPS. Он должен угадать, где он находится, установив соединение Wi-Fi и просмотрев местоположение маршрутизатора в онлайн-базе данных. Это возможно только при особых обстоятельствах. В остальное время он не знает, где находится.

@ Paulw11 Я ничего не говорил об айпадах. Я говорил только о реальном iPad OP. Я предполагаю, что на его iPad НЕТ GPS.

matt 11.04.2018 14:55

Никогда не спрашивайте у менеджера по местоположению его местонахождение, значит, я не получил. @matt. Я также использовал метод делегата, хотя он не работал

Mansi Dobariya 12.04.2018 06:09

Все, что я знаю, это код, который вы показали, а код, который вы показали, неверный.

matt 12.04.2018 06:13

Другие вопросы по теме